Puces de suggestion RCS
Les suggestions RCS vous permettent d'utiliser des réponses et des actions suggérées dans vos messages RCS. Elles peuvent être incluses dans différents types de messages, tels que les cartes, les carrousels et les messages texte, et sont définies dans la charge utile JSON de ces messages sous la forme d'un tableau d'objets de suggestion.
Ces objets de suggestion peuvent être des réponses suggérées, des actions suggérées ou une combinaison des deux. La structure exacte des objets varie en fonction du type de suggestion.
Suggestions
Les suggestions sont des éléments interactifs de l'interface utilisateur qui se présentent sous la forme de boutons ou de "puces" dans les applications de messagerie RCS prises en charge. Chaque suggestion représente une réponse rapide ou une action sur laquelle l'utilisateur peut appuyer. Ces puces apparaissent sous le corps du message et disparaissent lorsque l'utilisateur interagit avec elles ou lorsqu'un nouveau message est reçu.
Il existe deux types de suggestions :
- Réponses suggérées: Réponses prédéfinies de l'utilisateur qui déclenchent un message entrant de type
replyà l'URL définie pour votre Webhook de messages entrants. - Actions suggérées: Les boutons qui effectuent une action, par exemple ouvrir une URL ou appeler un numéro, et déclenchent un message entrant de type
buttonà l'URL définie pour votre Webhook de messages entrants.
Remarque : vous pouvez également inclure un tableau de suggestions dans un message de carte riche. Un carrousel étant une collection de cartes, chaque carte d'un carrousel peut également contenir son propre tableau de suggestions. Voir Cartes riches et carrousels pour plus d'informations.
Réponses suggérées
Utilisez les réponses suggérées lorsque vous attendez une réponse qui peut être traitée par programme. Chaque réponse comprend
text: Affiché sur la puce.postback_data: Un identifiant renvoyé dans le message d'arrivéereplyen tant que charge utile du messageidparamètre.
Voici un exemple de message RCS de type text avec deux propositions de réponses :
{
"to": "447700900000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "reply",
"text": "Suggestion #1",
"postback_data": "suggestion_1"
},
{
"type": "reply",
"text": "Suggestion #2",
"postback_data": "suggestion_2"
}
]
}
Si le destinataire clique sur l'une des suggestions, cela déclenche un message entrant de type reply; ici, la valeur de id varierait en fonction de la puce de suggestion sélectionnée par l'utilisateur :
{
"to": "Vonage",
"from": "447900000000",
"channel": "rcs",
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"timestamp": "2024-02-08T10:12:44Z",
"message_type": "reply",
"reply": {
"id": "suggestion_1",
"title": "Suggestion #1"
}
}
Actions suggérées
Les actions proposées exécutent une fonction et renvoient des données structurées par le biais d'un bouton. Toutes les actions nécessitent :
type: Définit le type d'actiontext: Etiquette de la puce (25 caractères maximum)postback_data: Un identifiant renvoyé dans le message d'arrivéebuttonen tant que charge utile du messagepayloadparamètre.
La plupart des types d'action nécessitent également un ou plusieurs paramètres supplémentaires pour prendre en charge l'action spécifique. Certains types ont également d'autres paramètres optionnels. Ces paramètres sont détaillés dans les descriptions des types spécifiques ci-dessous :
- Ouvrir un URL
- Ouvrir une URL dans Webview
- Composer un numéro
- Voir un lieu
- Partager un lieu
- Créer un événement de calendrier
Ouvrir un URL
Cet objet d'action a un type de open_url et possède les propriétés supplémentaires suivantes :
url: L'URL à ouvrir. Remarque : les seuls schémas autorisés sonthttp://ethttps://d'autres types de régimes tels quetel,mailtoetc. ne sont pas autorisés.description: Une description facultative de l'URL à des fins d'accessibilité.url(Chaîne) : il s'agit de l'URL à ouvrir.
Si cette puce d'action est activée, l'appareil du destinataire ouvre l'URL spécifiée soit dans le navigateur par défaut de l'appareil, soit dans une application installée (si une application est enregistrée comme gestionnaire pour le domaine de l'URL).
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "open_url",
"text": "Open Google",
"postback_data": "postback_data_1234",
"url": "https://www.google.com",
"description": "Accessibility description"
}
]
}
Ouvrir une URL dans Webview
Cet objet d'action a un type de open_url_in_webview et possède les propriétés supplémentaires suivantes :
url: L'URL à ouvrir. Remarque : les seuls schémas autorisés sonthttp://ethttps://d'autres types de régimes tels quetel,mailtoetc. ne sont pas autorisés.description: Une description facultative de l'URL à des fins d'accessibilité.view_mode: Le mode d'affichage de l'URL dans la fenêtre webview. SoitFULL,TALLouHALF.
Si cette puce d'action est touchée, l'appareil du destinataire ouvre l'URL spécifiée dans l'application de messagerie elle-même, la taille de la page web dans l'interface de l'application étant déterminée par la valeur de l'attribut view_mode paramètre.
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "open_url_in_webview",
"text": "Open Google",
"postback_data": "postback_data_1234",
"url": "https://www.google.com",
"description": "Accessibility description",
"view_mode": "FULL"
}
]
}
Composer un numéro
Cet objet d'action a un type de dial et possède les propriétés supplémentaires suivantes :
phone_number(Chaîne) : il s'agit du numéro de téléphone à composer. Il doit être au format E.164, inclure l'indicatif du pays et être précédé d'un+Par exemple+447900000000fallback_url(Chaîne) : il s'agit d'une URL à ouvrir s'il n'est pas possible de lancer l'action de numérotation.
Si cette puce d'action est activée, le destinataire sera invité à appeler le numéro de téléphone spécifié.
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "dial",
"text": "Call",
"postback_data": "postback_data_1234",
"fallback_url": "https://www.google.com/contact/",
"phone_number": "+15556667777"
}
]
}
Voir un lieu
Cet objet d'action a un type de view_location et possède les propriétés supplémentaires suivantes :
latitude(Chaîne) : La latitude en degrés. Elle doit être comprise entre [-90.0, +90.0].longitude(Chaîne) : La longitude en degrés. Elle doit être comprise entre [-180.0, +180.0].pin_label(Chaîne) : propriété facultative permettant d'ajouter une étiquette à l'épingle affichée sur la carte.fallback_url(chaîne) : URL à ouvrir s'il n'est pas possible de lancer l'action de localisation de la vue.
Si cette puce d'action est touchée, l'appareil du destinataire affiche le lieu spécifié dans l'application cartographique par défaut de l'appareil.
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "view_location",
"text": "View map",
"postback_data": "postback_data_1234",
"fallback_url": "https://www.google.com/maps/@37.4220188,-122.0844786,15z",
"latitude": "37.4220188",
"longitude": "-122.0844786",
"pin_label": "Googleplex"
}
]
}
Partager un lieu
Cet objet d'action a un type de share_location et n'a que trois paramètres obligatoires : type, textet postback_data.
Si cette puce d'action est touchée, l'appareil du destinataire ouvre le sélecteur de lieu par défaut afin que le destinataire puisse choisir un lieu à renvoyer.
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "share_location",
"text": "Share your location",
"postback_data": "postback_data_1234"
}
]
}
Créer un événement dans le calendrier
Cet objet d'action a un type de create_calendar_event et possède les propriétés supplémentaires suivantes :
start_time(Chaîne au format horodatage) : définit l'heure de début de l'événement. Un horodatage au formatRFC3339Format UTC "Zulu", par exemple2024-06-28T19:00:00Zend_time(Chaîne au format Timestamp) : définit l'heure de fin de l'événement. Un horodatage au formatRFC3339Format UTC "Zulu", par exemple2024-06-28T19:00:00Z.title(Chaîne) : définit le titre de l'événement.description(Chaîne) : définit la description de l'événement.fallback_url(Chaîne) : il s'agit d'une URL à ouvrir s'il n'est pas possible de lancer l'action de création d'un événement du calendrier.
Si cette puce d'action est touchée, l'appareil du destinataire ouvre l'application de calendrier par défaut et commence à créer un nouvel événement de calendrier avec les données définies dans l'objet d'action.
{
"to": "447900000000",
"from": "Vonage",
"channel": "rcs",
"message_type": "text",
"text": "Hello, world!",
"suggestions": [
{
"type": "create_calendar_event",
"text": "Save to calendar",
"postback_data": "postback_data_1234",
"fallback_url": "https://www.google.com/calendar",
"start_time": "2020-06-30T19:00:00Z",
"end_time": "2020-06-30T20:00:00Z",
"title": "My calendar event",
"description": "Description of the calendar event"
}
]
}
Extraits de code
Vous trouverez ci-dessous une liste d'extraits de code permettant d'envoyer des demandes de messages pour différents types de messages :
- Réponse suggérée
- Action suggérée : Ouvrir l'URL
- Action suggérée : Composer un Numbers
- Action suggérée : Voir l'emplacement
- Action suggérée : Partager l'emplacement
- Action suggérée : Créer un événement dans le calendrier
- Action suggérée : Actions multiples