Les agents RBM communiquent avec les utilisateurs en envoyant et en recevant des messages. Pour envoyer des messages aux utilisateurs, votre agent envoie des demandes de message au RCS Business API Messaging. Une même demande peut inclure du texte, une carte enrichie, une image ou un vidéo ainsi que les suggestions de réponses et d'actions.
Si vous envoyez un message à un utilisateur dont l'appareil n'est pas compatible avec le RCS ou n'est pas RCS activé, la plate-forme RBM renvoie une erreur 404. Dans ce cas, vous pouvez essayer pour atteindre l'utilisateur via les méthodes de remplacement définies dans votre infrastructure.
Si vous envoyez un message à un utilisateur RCS sur un réseau sur lequel votre agent n'est pas ou sur un réseau qui n'a pas activé le trafic RCS, la plate-forme RBM renvoie une erreur 403.
Si vous envoyez un message avec des fonctionnalités non compatibles avec l'appareil d'un utilisateur, La plateforme RBM renvoie une erreur et ne livre pas votre message.
Taille maximale de la chaîne complète AgentMessage est de 250 Ko. Les cartes enrichies et les autres contenus multimédias sont comptabilisés dans cette limite de taille. La de la partie texte du message est limité à 3 072 caractères.
Le destinataire n'est pas connecté
La plate-forme RBM accepte toujours un message à distribuer si le destinataire est hors connexion. Vous recevez une réponse 200 OK et la plateforme RBM conserve le message et tente de le renvoyer pendant 30 jours. Il n'est pas nécessaire de demander à RBM d'envoyer s'affiche à nouveau.
Le service RBM supprime tous les messages non distribués 30 jours après leur envoi.
Selon le cas d'utilisation de votre agent, vous pouvez révoquer un message non distribué avant ce délai avant expiration de 30 jours. La révocation peut empêcher les utilisateurs hors connexion reçoivent un message obsolète lorsqu'ils se reconnectent. Il existe plusieurs méthodes pour révoquer un message:
- Envoyez une demande de révocation pour déclencher la révocation.
- Définissez un délai d'expiration des messages pour les révoquer automatiquement au moment opportun.
Définir un délai d'expiration de message
Le message de votre agent est-il sensible au facteur temps ? Par exemple, les mots de passe à usage unique sur une courte période. Les offres à durée limitée expirent. Et les rappels de rendez-vous ne sont pas pertinente après la date de rendez-vous. Garantir la pertinence et l'actualité des messages, définissez un délai d'expiration pour les messages. Cela peut empêcher les utilisateurs hors connexion reçoivent du contenu non actualisé lorsqu'ils se reconnectent. L'expiration est également une bonne signal d'appel à votre stratégie de messagerie de remplacement pour que les utilisateurs obtiennent les informations dont ils ont besoin à l'heure.
Pour définir le délai d'expiration des messages, spécifiez l'un des champs suivants dans l'agent message:
expireTime
: heure exacte à laquelle le message expire, en temps UTC.ttl
(durée de vie): délai avant l'expiration du message.
Pour connaître les options de mise en forme et de valeur, consultez AgentMessage
.
Une fois le message expiré, la plateforme RBM cesse d’essayer de le délivrer, et il est automatiquement révoqué. Toutefois, cela peut échouer occasions. Par exemple, l'API peut déclencher la révocation tandis que le RBM était en train de transmettre le message. Pour confirmer si oui ou non le message arrivé à expiration a bien été révoqué, le RBM enverra une notification événement à votre webhook.
La valeur maximale pour ttl
et expireTime
est 15 jours après le message
l'envoi.
Texte
Les messages les plus simples sont composés de texte. Les SMS sont particulièrement adaptés communiquer des informations sans avoir besoin de visuels, d'interactions complexes ou de réponse.
Exemple
Le code suivant envoie un message en texte brut. Pour la mise en forme et la valeur
options, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Send simple text message to user rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444" ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a simple RBM text message message_text = messages.TextMessage('Hello, world!') # Send text message to the device messages.MessageCluster().append_message(message_text).send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", );Ce code est un extrait d'un exemple d'agent RBM.
Contenu des messages de base – Conversion de SMS
Les opérateurs ont introduit des modèles de facturation pour permettre le transfert des SMS vers RBM. Un message RBM contenant jusqu'à 160 Les caractères UTF-8 sont appelés "messages de base".
Lorsque vous élaborez une requête pour envoyer un message de base, n'oubliez pas que les caractères comptent pour 1 octet (UTF-8). Si vous envoyez un message contenant des comme les emoji ou un jeu de caractères multi-octets, chaque caractère compte sous la forme de 2 caractères UTF-8.
Saisissez du texte dans le champ pour vérifier sa longueur:
Mots de passe à usage unique pour la validation des utilisateurs
Vous pouvez utiliser RBM pour envoyer des mots de passe à usage unique (OTP) pour l'envoi automatique à l'aide de l'API SMS Retriever. Pour en savoir plus sur SMS Retriever, et les API associées, consultez la documentation sur SMS Retriever. Pour en savoir plus sur la validation automatique des utilisateurs dans les applications enregistrées auprès de l'API SMS Retriever, consultez cette schéma de flux.
Au cours du processus de vérification, l'API SMS Retriever écoute un RBM. . Ce message doit contenir un mot de passe à usage unique et un hachage qui identifie l'application. Une fois le hachage mis en correspondance avec l'application, le mot de passe à usage unique est extrait et transmis à l'application pour la validation automatique de l'utilisateur.
Voici un exemple de SMS RBM pour la vérification de l'utilisateur: Votre code est <OTP> <app hash>.
Par exemple : Your code is 123456 M8tue43FGT.
Fichiers multimédias et PDF
Lorsque vous envoyez un message contenant une image, une vidéo, un fichier audio ou un fichier PDF, votre agent doit fournir une URL accessible au public pour le contenu ou importer directement la . Pour les fichiers multimédias, vous pouvez également spécifier une vignette permettant aux utilisateurs prévisualiser le contenu avant de cliquer dessus. Pour les fichiers audio, le paramètre audio par défaut est utilisé comme espace réservé.
La plate-forme RBM met en cache les fichiers pendant 60 jours, et l'API renvoie un ID de fichier qui que votre agent peut inclure dans les messages adressés aux utilisateurs. Au bout de 60 jours, le RBM supprime les fichiers du cache.
Consultez les bonnes pratiques. pour connaître les recommandations et les limites relatives à la taille des fichiers.
Exemple d'URL de fichier
Le code suivant envoie une image. Pour connaître les options de mise en forme et de valeur, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.AgentContentMessage; import com.google.api.services.rcsbusinessmessaging.v1.model.AgentMessage; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); String fileUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // create media only message AgentContentMessage agentContentMessage = new AgentContentMessage(); agentContentMessage.setContentInfo(new ContentInfo().setFileUrl(fileUrl)); // attach content to message AgentMessage agentMessage = new AgentMessage(); agentMessage.setContentMessage(agentContentMessage); rbmApiHelper.sendAgentMessage(agentMessage, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create media file attachment file_message = messages.FileMessage('http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif') messages.MessageCluster().append_message(file_message).send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); string fileUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create content info with the file url ContentInfo contentInfo = new ContentInfo { FileUrl = fileUrl }; // Attach content info to a message AgentContentMessage agentContentMessage = new AgentContentMessage { ContentInfo = contentInfo, }; // Attach content to message AgentMessage agentMessage = new AgentMessage { ContentMessage = agentContentMessage }; rbmApiHelper.SendAgentMessage(agentMessage, "+12223334444");Ce code est un extrait d'un exemple d'agent RBM.
Vous pouvez également importer le contenu multimédia avant de l'envoyer dans un message avec
files.create
Exemple d'importation de fichier
Le code suivant met en ligne un fichier vidéo et un fichier de vignette, puis il envoie les deux
les fichiers d'un message. Pour connaître les options de mise en forme et de valeur, consultez
files.create
et 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' } } }"
Types de contenus compatibles
RBM est compatible avec les types de contenus suivants:
Type de contenu | Type de document | Extension | Compatible avec les cartes enrichies |
---|---|---|---|
application/ogg | Audio OGG | .ogx | Non |
application/pdf | Non | ||
audio/aac | Audio AAC | .aac | Non |
audio/mp3 | Format audio MP3 | .mp3 | Non |
audio/mpeg | Audio MPEG | Fichiers .mpeg | Non |
audio/mpg | MPG audio | .mp3 | Non |
audio/mp4 | Audio MP4 | .mp4 | Non |
audio/mp4-latm | Audio MP4-latm | .mp4 | Non |
audio/3gpp | Audio 3GPP | 0,3 gp | Non |
image/jpeg | JPEG | .jpeg et .jpg | Oui |
image/gif | GIF | .gif | Oui |
image/png | PNG | .png | Oui |
vidéo/h263 | Vidéo H263 | .h263 | Oui |
vidéo/m4v | Vidéo M4V | .m4v | Oui |
video/mp4 | Vidéo MP4 | .mp4 | Oui |
vidéo/mpeg4 | Vidéo MPEG-4 | .mp4, .m4p | Oui |
video/mpeg | Vidéo MPEG | Fichiers .mpeg | Oui |
vidéo/webm | Vidéo WebM | .webm | Oui |
Réponses suggérées
Les réponses suggérées guident les utilisateurs dans les conversations en fournissant des réponses qui auquel l'agent sait comment réagir. Votre agent envoie des suggestions de réponses dans listes de chips de suggestion ou dans les fiches enrichies.
Lorsqu'un utilisateur appuie sur une réponse suggérée, votre agent reçoit une événement contenant le texte et les données de postback de la réponse.
Les réponses suggérées ne doivent pas dépasser 25 caractères.
Exemple
Le code suivant envoie un texte avec deux suggestions de réponses. Pour le formatage et
, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); suggestions.add( new SuggestionHelper("Suggestion #1", "suggestion_1").getSuggestedReply()); suggestions.add( new SuggestionHelper("Suggestion #2", "suggestion_2").getSuggestedReply()); // Send simple text message to user rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggested replies for the message to send to the user cluster.append_suggestion_chip(messages.SuggestedReply('Suggestion #1', 'reply:suggestion_1')) cluster.append_suggestion_chip(messages.SuggestedReply('Suggestion #2', 'reply:suggestion_2')) # Send a simple message with suggestion chips to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); List<Suggestion> suggestions = new List<Suggestion> { // Create suggestion chips new SuggestionHelper("Suggestion #1", "suggestion_1").SuggestedReply(), new SuggestionHelper("Suggestion #2", "suggestion_2").SuggestedReply() }; // Send simple text message with suggestions to user rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Actions suggérées
Les actions suggérées guident les utilisateurs tout au long des conversations en laissant l'interface intégrée la fonctionnalité de leurs appareils. Votre agent peut suggérer aux utilisateurs de composer un ouvrir un emplacement sur une carte, en partager un, ouvrir une URL ou créer un événement d'agenda. Votre agent vous envoie des suggestions d'actions listes de chips de suggestion ou dans les fiches enrichies.
Lorsqu'un utilisateur appuie sur une action suggérée, l'agent reçoit une événement contenant les données de postback de l'action.
Les actions suggérées ne doivent pas dépasser 25 caractères.
Pour connaître les options de mise en forme et de valeur, consultez
SuggestedAction
Composer un numéro
L'action "Appeler" guide l'utilisateur pour composer un numéro de téléphone spécifié par votre agent.
Les numéros de téléphone ne peuvent contenir que des chiffres (0-9
), des signes plus (+
), des astérisques (*
),
et un symbole numérique (#
). Le format international E.164 (par exemple,
+14155555555
) est compatible, mais n'est pas obligatoire. Autrement dit, +14155555555
et
1011
sont des entrées valides.
Exemple
Le code suivant envoie une action de numérotation. Pour connaître les options de mise en forme et de valeur, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.DialAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a dial suggested action DialAction dialAction = new DialAction(); dialAction.setPhoneNumber("+15556667777"); // creating a suggested action based on a dial action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Call"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setDialAction(dialAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a dial suggested action suggestions = [ messages.DialAction('Call', 'reply:postback_data_1234', '+15556667777') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a dial an agent suggested action DialAction dialAction = new DialAction { PhoneNumber = "+15556667777" }; // Creating a suggested action based on a dial action SuggestedAction suggestedAction = new SuggestedAction { Text = "Call", PostbackData = "postback_data_1234", DialAction = dialAction }; // Attach action to a suggestion Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Afficher un lieu
L'action "Afficher la position" permet d'afficher un lieu dans l'application de carte par défaut de l'utilisateur. Toi permet de spécifier un lieu à l'aide de sa latitude et de sa longitude, ou à l'aide d'une requête en fonction de la position actuelle de l'utilisateur. Vous pouvez également définir une étiquette personnalisée pour l'épingle s'affiche dans l'application de carte.
Exemple
Le code suivant envoie une action d'affichage de la position. Pour la mise en forme et la valeur
options, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.ViewLocationAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a view location suggested action ViewLocationAction viewLocationAction = new ViewLocationAction(); viewLocationAction.setQuery("Googleplex, Mountain View, CA"); // creating a suggested action based on a view location action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("View map"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setViewLocationAction(viewLocationAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a view location suggested action suggestions = [ messages.ViewLocationAction('View map', 'reply:postback_data_1234', query='Googleplex, Mountain View, CA') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // create an view location action ViewLocationAction viewLocationAction = new ViewLocationAction { Query = "Googleplex Mountain View, CA" }; // Attach the view location action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { ViewLocationAction = viewLocationAction, Text = "View map", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Partager une position
L'action "Partager la position" permet à l'utilisateur d'envoyer une position à votre agent. La le lieu indiqué par l'utilisateur ne correspond pas nécessairement à sa position géographique.
Exemple
Le code suivant envoie une action de partage de position. Pour la mise en forme et la valeur
options, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.ShareLocationAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a share location suggested action ShareLocationAction shareLocationAction = new ShareLocationAction(); // creating a suggested action based on a share location action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Share location"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setShareLocationAction(shareLocationAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a share location suggested action suggestions = [ messages.ShareLocationAction('Share location', 'reply:postback_data_1234') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a share location action ShareLocationAction shareLocationAction = new ShareLocationAction(); // Attach the share location action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { ShareLocationAction = shareLocationAction, Text = "Share location", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Ouvrir une URL
L'action "Ouvrir l'URL" ouvre le navigateur Web de l'utilisateur à l'URL spécifiée. Si un est enregistré comme gestionnaire par défaut pour l'URL, l'application s'ouvre à la place, et l'icône de l'action est l'icône de l'application.
Exemple
Le code suivant envoie une action d'ouverture d'URL. Pour les options de mise en forme et de valeur,
voir
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.OpenUrlAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating an open url suggested action OpenUrlAction openUrlAction = new OpenUrlAction(); openUrlAction.setUrl("https://www.google.com"); // creating a suggested action based on an open url action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Open Google"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setOpenUrlAction(openUrlAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create an open url suggested action suggestions = [ messages.OpenUrlAction('Open Google', 'reply:postback_data_1234', 'https://www.google.com') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create an open url action OpenUrlAction openUrlAction = new OpenUrlAction { Url = "https://www.google.com" }; // Attach the open url action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { OpenUrlAction = openUrlAction, Text = "Open Google", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Créer un événement d'agenda
L'action "Créer un événement d'agenda" ouvre l'application d'agenda de l'utilisateur et commence à crée un événement avec les informations spécifiées.
Exemple
Le code suivant envoie une action de création d'événement d'agenda. Pour le formatage et
, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.CreateCalendarEventAction; import com.google.api.services.rcsbusinessmessaging.v1.model.SuggestedAction; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); // creating a create calendar event suggested action CreateCalendarEventAction createCalendarEventAction = new CreateCalendarEventAction(); calendarEventAction.setTitle("My calendar event"); calendarEventAction.setDescription("Description of the calendar event"); calendarEventAction.setStartTime("2020-06-30T19:00:00Z"); calendarEventAction.setEndTime("2020-06-30T20:00:00Z"); // creating a suggested action based on a create calendar event action SuggestedAction suggestedAction = new SuggestedAction(); suggestedAction.setText("Save to calendar"); suggestedAction.setPostbackData("postback_data_1234"); suggestedAction.setCreateCalendarEventAction(createCalendarEventAction); // attaching action to a suggestion Suggestion suggestion = new Suggestion(); suggestion.setAction(suggestedAction); suggestions.add(suggestion); // Send simple text message with the suggestion action rbmApiHelper.sendTextMessage( "Hello, world!", "+12223334444", suggestions ); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Create a calendar event suggested action suggestions = [ messages.CreateCalendarEventAction('Save to Calendar', 'reply:postback_data_1234', '2020-06-30T19:00:00Z', '2020-06-30T20:00:00Z', 'My calendar event', 'Description of the calendar event') ] # Create text message to send to user text_msg = messages.TextMessage('Hello, world!') cluster = messages.MessageCluster().append_message(text_msg) # Append suggestions for the message to send to the user for suggestion in suggestions: cluster.append_suggestion_chip(suggestion) # Send a simple message with suggested action to the device cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Create a calendar event action CreateCalendarEventAction calendarEventAction = new CreateCalendarEventAction { Title = "My calendar event", Description = "Description of the calendar event", StartTime = "2020-06-30T19:00:00Z", EndTime = "2020-06-30T20:00:00Z" }; // Attach the calendar event action to a suggested action SuggestedAction suggestedAction = new SuggestedAction { CreateCalendarEventAction = calendarEventAction, Text = "Save to calendar", PostbackData = "postback_data_1234" }; // Attach the action to a suggestion object Suggestion suggestion = new Suggestion { Action = suggestedAction }; List<Suggestion> suggestions = new List<Suggestion> { suggestion }; rbmApiHelper.SendTextMessage( "Hello, world!", "+12223334444", suggestions );Ce code est un extrait d'un exemple d'agent RBM.
Liste de chips de suggestion
Votre agent envoie des listes de chips de suggestion avec des messages pour guider les utilisateurs suivant actions. La liste de chips ne s'affiche que lorsque le message associé se trouve au en bas de la conversation. Tous les messages ultérieurs de la conversation (de un utilisateur ou votre agent) écrasent la liste de chips.
Les chips de la liste sont des suggestions de réponses. des actions suggérées.
Les listes de chips contiennent jusqu'à 11 chips de suggestion, et chaque libellé peut ne pas comporter plus de 25 caractères ;
Pour connaître les options de mise en forme et de valeur, consultez
AgentContentMessage
Cartes enrichies
Lorsque vous devez envoyer un bloc d'informations, de contenus multimédias ou vous devez envoyer une carte enrichie. Les cartes enrichies permettent à votre agent d'envoyer plusieurs unités d'information dans un seul message.
Les cartes enrichies peuvent contenir les éléments suivants:
- Une image ou une vidéo
- Texte du titre
- Texte de description
- Liste de réponses et d'actions suggérées (quatre maximum)
Une carte enrichie peut contenir tous les éléments répertoriés, mais une carte doit contenir au moins une image, une vidéo ou un titre pour être valide. Une carte enrichie peut contenir quatre suggestions d'actions ou de réponses suggérées au maximum). Il ne peut pas contenir à la fois des actions suggérées et des réponses suggérées sur une carte unique.
Votre agent peut envoyer plusieurs cartes enrichies carrousel de cartes enrichies.
Hauteur de la fiche
Les cartes se développent verticalement pour s'adapter à leur contenu. Les cartes enrichies ont une hauteur minimale 112 DP et une hauteur maximale de 344 DP. Si le contenu d'une carte ne sont pas assez grandes pour remplir la hauteur minimale de la fiche, celle-ci se développe et se remplit la hauteur supplémentaire avec un espace blanc.
Le contenu multimédia des cartes enrichies doit s'adapter à l'une des trois hauteurs suivantes:
- Version courte: 112 DP
- Moyen: 168 DP
- Hauteur: 264 DP
Si le support ne correspond pas aux dimensions de la fiche en fonction de l'élément sélectionné hauteur, l'aperçu de l'élément multimédia est sélectionné en effectuant un zoom et en le recadrant.
Exemple
Le code suivant envoie une carte enrichie avec une image et une suggestion
réponses. Pour connaître les options de mise en forme et de valeur, consultez
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.StandaloneCard; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.cards.CardOrientation; import com.google.rbm.cards.MediaHeight; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Create suggestions for chip list List<Suggestion> suggestions = new ArrayList<Suggestion>(); suggestions.add( new SuggestionHelper("Suggestion #1", "suggestion_1").getSuggestedReply()); suggestions.add( new SuggestionHelper("Suggestion #2", "suggestion_2").getSuggestedReply()); String imageUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create a standalone rich card to send to the user StandaloneCard standaloneCard = rbmApiHelper.createStandaloneCard( "Hello, world!", "RBM is awesome!", imageUrl, MediaHeight.MEDIUM, CardOrientation.VERTICAL, suggestions ); rbmApiHelper.sendStandaloneCard(standaloneCard, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Suggested replies to be used in the card suggestions = [ messages.SuggestedReply('Suggestion #1', 'reply:suggestion_1'), messages.SuggestedReply('Suggestion #2', 'reply:suggestion_2') ] # Image to be displayed by the card image_url = 'http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif'; # Define rich card structure rich_card = messages.StandaloneCard('VERTICAL', 'Hello, world!', 'RBM is awesome!', suggestions, image_url, None, None, 'MEDIUM') # Append rich card and send to the user cluster = messages.MessageCluster().append_message(rich_card) cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; using RCSBusinessMessaging.Cards; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); List<Suggestion> suggestions = new List<Suggestion> { // Create suggestion chips new SuggestionHelper("Suggestion #1", "suggestion_1").SuggestedReply(), new SuggestionHelper("Suggestion #2", "suggestion_2").SuggestedReply() }; string imageUrl = "http://www.google.com/logos/doodles/2015/googles-new-logo-5078286822539264.3-hp2x.gif"; // Create rich card with suggestions StandaloneCard standaloneCard = rbmApiHelper.CreateStandaloneCard( "Hello, world!", "RBM is awesome", imageUrl, MediaHeight.TALL, CardOrientation.VERTICAL, suggestions ); // Send rich card to user rbmApiHelper.SendStandaloneCard(standaloneCard, "+12223334444");Ce code est un extrait d'un exemple d'agent RBM.
Carrousels de cartes enrichies
Lorsque vous devez proposer à un utilisateur plusieurs options, utilisez un carrousel de cartes enrichies. Chaîne de carrousels avec plusieurs Les fiches enrichies, qui permettent aux utilisateurs de comparer des articles et de réagir aux différents individuellement.
Les carrousels peuvent contenir entre deux et dix cartes enrichies. Riche les cartes des carrousels doivent respecter les exigences générales des cartes enrichies pour : le contenu et la hauteur.
Troncation
Comme pour les cartes enrichies, de nombreux facteurs (résolution d'écran, la densité de pixels et les préférences utilisateur) ont une incidence sur la façon dont les cartes s'affichent pour les utilisateurs finaux. Dans un carrousel, mais la hauteur des premières fiches définit la hauteur de toutes les fiches du carrousel, et leur hauteur a une incidence sur le titre, la description la troncation des suggestions.
Si un appareil ne peut pas afficher tous les éléments d'une carte en raison de contraintes d'affichage ou la hauteur de la carte, RBM la tronque jusqu'à ce qu'elle puisse s'afficher sur l'appareil la logique suivante:
- Réduisez la description à une ligne.
- Réduisez le titre à une ligne.
- Omettez les suggestions qui ne tiennent pas dans la fiche en partant de la fin une liste définie.
- Omettez la description.
- Omettez le titre.
Pour éviter qu'ils ne soient tronqués, les titres et les descriptions doivent être aussi courts que possible. Pour grande taille utilisez un titre et une description, ou une suggestion. Pour taille intermédiaire utilisez jusqu'à deux suggestions. Pour les contenus multimédias courts, utilisez jusqu'à trois suggestions. Pour inclure quatre suggestions, n'incluez pas de contenu multimédia dans la fiche.
Gardez les fiches à peu près équivalentes en termes de taille et de longueur du contenu. Si Charger le carrousel au début avec des cartes plus grandes pour éviter la troncation dans cartes suivantes.
Exemple
Le code suivant envoie un carrousel de cartes enrichies. Pour les options de mise en forme et de valeur,
voir
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); });Ce code est un extrait d'un exemple d'agent RBM.
Java
import com.google.api.services.rcsbusinessmessaging.v1.model.CardContent; import com.google.api.services.rcsbusinessmessaging.v1.model.Suggestion; import com.google.rbm.cards.CardOrientation; import com.google.rbm.cards.CardWidth; import com.google.rbm.cards.MediaHeight; import com.google.rbm.RbmApiHelper; import com.google.rbm.SuggestionHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); List cardContents = new ArrayList(); // Images for the carousel cards String card1Image = "https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg"; // Create suggestions for first carousel card List card1Suggestions = new ArrayList(); card1Suggestions.add( new SuggestionHelper("Card #1", "card_1")); cardContents.add( new StandaloneCardHelper( "Card #1", "The description for card #1", card1Image, card1Suggestions) .getCardContent(MediaHeight.SHORT) ); // Images for the carousel cards String card2Image = "https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg"; // Create suggestions for second carousel card List card2Suggestions = new ArrayList(); card2Suggestions.add( new SuggestionHelper("Card #2", "card_2")); cardContents.add( new StandaloneCardHelper( "Card #2", "The description for card #2", card2Image, card2Suggestions) .getCardContent(MediaHeight.SHORT) ); // Send the carousel to the user rbmApiHelper.sendCarouselCards(cardContents, CardWidth.MEDIUM, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }Ce code est un extrait d'un exemple d'agent RBM.
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service from rcs_business_messaging import messages # Images for the carousel cards card_image_1 = 'https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg'; card_image_2 = 'https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg'; # Suggested replies to be used in the cards suggestions1 = [ messages.SuggestedReply('Card #1', 'reply:card_1') ] suggestions2 = [ messages.SuggestedReply('Card #2', 'reply:card_2') ] # Define the card contents for a carousel with two cards, # each with one suggested reply card_contents = [] card_contents.append(messages.CardContent('Card #1', 'The description for card #1', card_image_1, 'MEDIUM', suggestions1)) card_contents.append(messages.CardContent('Card #2', 'The description for card #2', card_image_2, 'MEDIUM', suggestions2)) # Send the device the carousel card defined above carousel_card = messages.CarouselCard('MEDIUM', card_contents) cluster = messages.MessageCluster().append_message(carousel_card) cluster.send_to_msisdn('+12223334444')Ce code est un extrait d'un exemple d'agent RBM.
C#
using Google.Apis.RCSBusinessMessaging.v1.Data; using RCSBusinessMessaging; using RCSBusinessMessaging.Cards; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Image references to be used in the carousel cards string card1Image = "https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg"; string card2Image = "https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg"; // Suggestion chip lists to be used in carousel cards List<Suggestion> suggestions1 = new List<Suggestion> { new SuggestionHelper("Card #1", "card_1").SuggestedReply() }; List<Suggestion> suggestions2 = new List<Suggestion> { new SuggestionHelper("Card #2", "card_2").SuggestedReply() }; // Create the card content for the carousel List<CardContent> cardContents = new List<CardContent> { // Add items as card content new StandaloneCardHelper( "Card #1", "The description for card #1", card1Image, suggestions1).GetCardContent(), new StandaloneCardHelper( "Card #2", "The description for card #2", card2Image, suggestions2).GetCardContent() }; // Send the carousel to the user rbmApiHelper.SendCarouselCards(cardContents, CardWidth.MEDIUM, msisdn);Ce code est un extrait d'un exemple d'agent RBM.
Taille maximale des messages
La taille maximale du texte pouvant être envoyé dans un message RBM est de 256 Ko. Ce inclut le texte qui constitue la charge utile JSON lors de l'envoi de données structurées messages.
La taille maximale d'un fichier pouvant être envoyé via RBM est de 200 Mo.
Un message RBM ne peut être joint qu'à un seul fichier multimédia.