REST Resource: phones.agentMessages

Ressource : AgentMessage

Message envoyé par l'agent à un utilisateur.

Représentation JSON
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },
  "messageTrafficType": enum (MessageTrafficType),

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
Champs
name

string

Ce champ est défini par la plate-forme RBM. Ne l'incluez pas lorsque vous créez un message d'agent. Le champ correspond à "phones/{E.164}/agentMessages/{messageId}", où {E.164} est le numéro de téléphone de l'utilisateur au format E.164 et {messageId} est l'ID du message de l'agent attribué par l'agent.

sendTime

string (Timestamp format)

Ce champ est défini par la plate-forme RBM. Ne l'incluez pas lorsque vous créez un message d'agent. Le champ indique l'heure à laquelle le message est envoyé à l'utilisateur.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

contentMessage

object (AgentContentMessage)

Contenu du message de l'agent.

messageTrafficType

enum (MessageTrafficType)

Type de trafic des messages.

Champ d'union expiration.

expiration ne peut être qu'un des éléments suivants :

expireTime

string (Timestamp format)

Facultatif. Code temporel en UTC du moment où cette ressource est considérée comme expirée. Cette valeur est fournie en sortie si elle est définie ou si le champ TTL est défini.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

ttl

string (Duration format)

Facultatif. Uniquement en entrée. Durée de vie du message avant sa révocation automatique.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

AgentContentMessage

Contenu d'un message envoyé par l'agent à un utilisateur.

Représentation JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ],

  // Union field content can be only one of the following:
  "text": string,
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "richCard": {
    object (RichCard)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Champs
suggestions[]

object (Suggestion)

Liste de réponses et d'actions suggérées qui s'affiche sous forme de liste d'éléments de suggestion après le message de l'agent associé. 11 suggestions maximum.

Les chips ne s'affichent que lorsque le message de l'agent associé est le message le plus récent de la conversation (y compris les messages de l'agent et de l'utilisateur). L'utilisateur peut appuyer sur une réponse suggérée pour renvoyer la réponse textuelle à l'agent ou sur une action suggérée pour lancer une action native sur l'appareil. 11 suggestions maximum.

Champ d'union content. Le contenu du message de l'agent content ne peut être que l'un des suivants :
text

string

Texte encodé au format UTF-8. 3 072 caractères maximum.

fileName
(deprecated)

string

Nom unique d'un fichier. La plate-forme RBM renvoie un nom de fichier lorsqu'un agent importe un fichier. Obsolète, remplacé par uploadedRbmFile ci-dessous

uploadedRbmFile

object (UploadedRbmFile)

Contient les identifiants d'un fichier et d'une miniature qui ont été importés sur le serveur RBM et diffusés par celui-ci.

richCard

object (RichCard)

Carte enrichie autonome.

contentInfo

object (ContentInfo)

Informations sur un fichier, y compris l'URL du fichier et celle de sa miniature.

La plate-forme RBM diffuse du contenu à partir d'un cache, mais un agent peut forcer la plate-forme RBM à récupérer une nouvelle version du contenu et à actualiser le cache.

UploadedRbmFile

Message contenant des informations sur le fichier et la vignette

Représentation JSON
{
  "fileName": string,
  "thumbnailName": string
}
Champs
fileName

string

Nom du fichier renvoyé par la plate-forme RBM lors de l'importation du fichier.

thumbnailName

string

Nom de la miniature renvoyé par la plate-forme RBM lors de l'importation de la miniature.

RichCard

Carte enrichie autonome ou carrousel de cartes enrichies envoyées par l'agent à l'utilisateur.

Représentation JSON
{

  // Union field card can be only one of the following:
  "carouselCard": {
    object (CarouselCard)
  },
  "standaloneCard": {
    object (StandaloneCard)
  }
  // End of list of possible types for union field card.
}
Champs
Champ d'union card. Carte autonome ou carrousel de cartes. card ne peut être qu'un des éléments suivants :
carouselCard

object (CarouselCard)

Carrousel de cartes.

standaloneCard

object (StandaloneCard)

Fiche autonome.

CarouselCard

Carrousel de cartes.

Représentation JSON
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
Champs
cardWidth

enum (CarouselCard.CardWidth)

Largeur des cartes dans le carrousel.

cardContents[]

object (CardContent)

Liste du contenu de chaque fiche du carrousel. Un carrousel peut comporter entre deux et dix cartes.

CarouselCard.CardWidth

Largeur des cartes dans le carrousel.

Enums
CARD_WIDTH_UNSPECIFIED Non spécifié.
SMALL 120 DP. Notez que les contenus multimédias verticaux ne peuvent pas être utilisés.
MEDIUM 232 DP.

CardContent

Contenu de la carte

Représentation JSON
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Champs
title

string

(Facultatif) Titre de la fiche. 200 caractères maximum.

description

string

(Facultatif) Description de la carte. 2 000 caractères maximum.

media

object (Media)

(Facultatif) Contenu multimédia (image, GIF, vidéo, PDF) à inclure dans la fiche.

suggestions[]

object (Suggestion)

(Facultatif) Liste des suggestions à inclure dans la fiche. Quatre suggestions maximum.

Contenus multimédias

Fichier multimédia dans une carte enrichie.

Représentation JSON
{
  "height": enum (Media.Height),

  // Union field content can be only one of the following:
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Champs
height

enum (Media.Height)

Hauteur du contenu multimédia dans une carte enrichie avec une mise en page verticale. Pour une carte autonome avec une mise en page horizontale, la hauteur n'est pas personnalisable et ce champ est ignoré.

Champ d'union content. Le contenu multimédia content ne peut être qu'un des éléments suivants :
fileName
(deprecated)

string

Nom unique du fichier, renvoyé par la plate-forme RBM lors de l'importation du fichier. Obsolète, remplacé par uploadedRbmFile ci-dessous

uploadedRbmFile

object (UploadedRbmFile)

Contient les identifiants d'un fichier et d'une miniature qui ont été importés sur le serveur RBM et diffusés par celui-ci.

contentInfo

object (ContentInfo)

Informations sur un fichier, y compris l'URL du fichier et celle de sa miniature.

La plate-forme RBM diffuse du contenu à partir d'un cache, mais un agent peut forcer la plate-forme RBM à récupérer une nouvelle version du contenu et à actualiser le cache.

ContentInfo

Message contenant les informations sur le contenu.

Représentation JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
Champs
fileUrl

string

URL du fichier accessible publiquement. La plate-forme RBM détermine le type MIME du fichier à partir du champ "content-type" des en-têtes HTTP lorsqu'elle récupère le fichier. Le champ "content-type" doit être présent et exact dans la réponse HTTP de l'URL. La taille de fichier maximale recommandée est de 100 Mo.

Remarque : Les redirections dans les URL de fichiers ne sont pas acceptées. Veuillez utiliser CreateFileRequest si une redirection est nécessaire.

thumbnailUrl

string

(Facultatif, pour les fichiers image, audio et vidéo uniquement) URL de la miniature accessible publiquement. Taille maximale de 100 ko.

Si vous ne fournissez pas d'URL de miniature, la plate-forme RBM affiche une miniature vide jusqu'à ce que l'appareil de l'utilisateur télécharge le fichier. En fonction des paramètres de l'utilisateur, il est possible que le fichier ne se télécharge pas automatiquement et que l'utilisateur doive appuyer sur un bouton de téléchargement.

Remarque : Les redirections dans les URL de fichiers ne sont pas acceptées. Veuillez utiliser CreateFileRequest si une redirection est nécessaire.

forceRefresh

boolean

Si cette option est définie, la plate-forme RBM récupère le fichier et la miniature à partir des URL spécifiées, même si elle en a mis en cache des copies.

Media.Height

Hauteur du support

Enums
HEIGHT_UNSPECIFIED Non spécifié.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. Non disponible pour les carrousels de fiches enrichies lorsque la largeur des fiches est définie sur "petite".

Suggestion

Réponse ou action suggérée incluse dans une fiche enrichie ou dans une liste de chips de suggestion.

Représentation JSON
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  }
  // End of list of possible types for union field option.
}
Champs
Champ d'union option. Une réponse ou une action suggérée option ne peut être que l'un des éléments suivants :
reply

object (SuggestedReply)

Les utilisateurs peuvent appuyer sur une réponse suggérée pour renvoyer la réponse textuelle à l'agent.

action

object (SuggestedAction)

Les utilisateurs peuvent appuyer sur une action suggérée pour lancer l'action native correspondante sur l'appareil.

SuggestedReply

Lorsque l'utilisateur appuie dessus, la réponse textuelle est renvoyée à l'agent.

Représentation JSON
{
  "text": string,
  "postbackData": string
}
Champs
text

string

Texte affiché dans la réponse suggérée et renvoyé à l'agent lorsque l'utilisateur appuie dessus. 25 caractères maximum.

postbackData

string

Charge utile encodée en base64 que l'agent reçoit dans un événement utilisateur lorsque l'utilisateur appuie sur la réponse suggérée.

SuggestedAction

Lorsqu'un utilisateur appuie sur l'icône, l'action native correspondante est lancée sur l'appareil.

Représentation JSON
{
  "text": string,
  "postbackData": string,
  "fallbackUrl": string,

  // Union field action can be only one of the following:
  "dialAction": {
    object (DialAction)
  },
  "viewLocationAction": {
    object (ViewLocationAction)
  },
  "createCalendarEventAction": {
    object (CreateCalendarEventAction)
  },
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "shareLocationAction": {
    object (ShareLocationAction)
  }
  // End of list of possible types for union field action.
}
Champs
text

string

Texte affiché dans l'action suggérée. 25 caractères maximum.

postbackData

string

Charge utile (encodée en base64) qui sera envoyée à l'agent dans l'événement utilisateur qui se produit lorsque l'utilisateur appuie sur l'action suggérée. 2 048 caractères maximum.

fallbackUrl

string

(Facultatif) URL de remplacement à utiliser si un client n'est pas compatible avec une action suggérée. Les URL de remplacement s'ouvrent dans de nouvelles fenêtres de navigateur. Doit être un URI valide tel que défini dans la RFC 3986. 2 048 caractères maximum.

Champ d'union action. L'action native lancée sur l'appareil lorsque l'utilisateur appuie sur l'action suggérée action ne peut être que l'une des suivantes :
dialAction

object (DialAction)

Ouvre l'application de clavier par défaut de l'utilisateur avec le numéro de téléphone spécifié par l'agent prérempli.

viewLocationAction

object (ViewLocationAction)

Ouvre l'application de cartographie par défaut de l'utilisateur et sélectionne le lieu spécifié par l'agent ou effectue une recherche autour de l'emplacement de l'utilisateur en fonction d'une requête spécifiée par l'agent.

createCalendarEventAction

object (CreateCalendarEventAction)

Ouvre l'application d'agenda par défaut de l'utilisateur et lance le flux de création d'un événement d'agenda avec les données d'événement spécifiées par l'agent préremplies.

openUrlAction

object (OpenUrlAction)

Ouvre l'application de navigateur Web par défaut de l'utilisateur à l'URL indiquée. Si l'utilisateur a installé une application enregistrée comme gestionnaire par défaut de l'URL, c'est cette application qui s'ouvrira à la place, et son icône sera utilisée dans l'UI de l'action suggérée.

shareLocationAction

object (ShareLocationAction)

Ouvre le sélecteur de position de l'application RCS pour que l'utilisateur puisse choisir une position à envoyer à l'agent.

DialAction

Ouvre l'application de clavier par défaut de l'utilisateur avec le numéro de téléphone spécifié par l'agent prérempli.

Représentation JSON
{
  "phoneNumber": string
}
Champs
phoneNumber

string

Numéro de téléphone au format E.164, par exemple +12223334444.

ViewLocationAction

Ouvre l'application de cartographie par défaut de l'utilisateur et sélectionne le lieu spécifié par l'agent ou effectue une recherche autour de l'emplacement de l'utilisateur en fonction d'une requête spécifiée par l'agent.

Représentation JSON
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
Champs
latLong

object (LatLng)

(Facultatif) Latitude et longitude du lieu spécifié.

label

string

(Facultatif) Libellé du repère déposé à latLong.

query

string

(Facultatif, uniquement compatible avec les clients Android Messages) Au lieu de spécifier une valeur latLong (et éventuellement un libellé), l'agent peut spécifier une chaîne de requête. Pour les applications cartographiques par défaut qui prennent en charge la fonctionnalité de recherche (y compris Google Maps), appuyer sur cette action suggérée entraîne une recherche de position centrée sur la position actuelle de l'utilisateur. Si la requête est suffisamment spécifique, les agents peuvent l'utiliser pour sélectionner n'importe quel lieu dans le monde.

Par exemple, si vous définissez la chaîne de requête sur "Growing Tree Bank", toutes les agences Growing Tree Bank à proximité de l'utilisateur s'affichent. Si vous définissez la chaîne de requête sur "1600 Amphitheater Parkway, Mountain View, CA 94043", cette adresse spécifique sera sélectionnée, quelle que soit la position de l'utilisateur.

LatLng

Objet représentant une paire latitude/longitude. Cette valeur est exprimée par une paire de doubles représentant les degrés de latitude et de longitude. Sauf indication contraire, cet objet doit être conforme à la norme WGS84. Les valeurs doivent se situer dans les limites normalisées.

Représentation JSON
{
  "latitude": number,
  "longitude": number
}
Champs
latitude

number

Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0].

longitude

number

Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0].

CreateCalendarEventAction

Ouvre l'application d'agenda par défaut de l'utilisateur et lance le flux de création d'un événement d'agenda avec les données d'événement spécifiées par l'agent préremplies.

Représentation JSON
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
Champs
startTime

string (Timestamp format)

Heure de début de l'événement.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Heure de fin de l'événement.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

title

string

Titre de l'événement 100 caractères au maximum.

description

string

Description de l'événement. 500 caractères maximum.

OpenUrlAction

Ouvre l'application de navigateur Web par défaut de l'utilisateur sur l'URL spécifiée. Si l'utilisateur a installé une application enregistrée comme gestionnaire par défaut de l'URL, c'est cette application qui s'ouvrira à la place, et son icône sera utilisée dans l'UI de l'action suggérée.

Représentation JSON
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
Champs
url

string

URL à ouvrir. À compter du 1er novembre 2025, le schéma d'URL doit être https:// ou http://. Les requêtes d'API utilisant d'autres schémas (par exemple, tel:, mailto:, sms:) seront refusées avec une erreur 400 Bad Request après cette date. L'URL doit être un URI valide, tel que défini dans la norme RFC 3986. 2 048 caractères maximum.

application

enum (OpenUrlApplication)

URL permettant d'ouvrir une application, un navigateur ou une WebView. Pour vérifier si l'appareil d'un utilisateur est compatible avec le mode Webview, exécutez d'abord une vérification des fonctionnalités. Pour en savoir plus, consultez la documentation : https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

webviewViewMode

enum (WebviewViewMode)

Mode Vue pour WebView

description

string

Description d'accessibilité pour la vue Web.

OpenUrlApplication

Type d'application d'ouverture de l'URL

Enums
OPEN_URL_APPLICATION_UNSPECIFIED Non spécifié, le navigateur sera utilisé pour ouvrir le fichier.
BROWSER Utilisez votre navigateur pour ouvrir l'URL.
WEBVIEW Ouvrir une URL dans une fenêtre Web View intégrée

WebviewViewMode

Type de mode d'affichage de la vue Web.

Enums
WEBVIEW_VIEW_MODE_UNSPECIFIED Non spécifié. Pour utiliser WebView, vous devez spécifier un mode d'affichage.
FULL Nécessite une superposition en plein écran avec la conversation du chatbot indiquée dans la barre d'état.
HALF Nécessite une superposition sur la moitié de l'écran.
TALL Nécessite un overlay sur les trois quarts de l'écran.

ShareLocationAction

Ce type ne comporte aucun champ.

Ouvre le sélecteur de localisation de l'application RCS pour que l'utilisateur puisse choisir une position à renvoyer à l'agent.

StandaloneCard

Carte autonome

Représentation JSON
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
Champs
cardOrientation

enum (StandaloneCard.CardOrientation)

Orientation de la carte.

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

Alignement de l'aperçu de l'image pour les cartes autonomes avec une mise en page horizontale.

cardContent

object (CardContent)

Contenu de la fiche.

StandaloneCard.CardOrientation

Orientation de la carte.

Enums
CARD_ORIENTATION_UNSPECIFIED Non spécifié.
HORIZONTAL

Mise en page horizontale.

Si le champ CardContent) de object( contient le champ media, il doit également inclure au moins un champ title, description ou suggestions[].

VERTICAL Mise en page verticale.

StandaloneCard.ThumbnailImageAlignment

Alignement de l'aperçu de l'image pour les cartes autonomes avec une mise en page horizontale.

Enums
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED Non spécifié.
LEFT L'aperçu du fichier est aligné à gauche.
RIGHT L'aperçu du fichier est aligné à droite.

MessageTrafficType

Types de trafic de messages acceptés. L'enum sera étendu pour prendre en charge d'autres types de trafic.

Enums
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED Comportement par défaut : le type de trafic de messages est déterminé par le cas d'utilisation de l'agent. Mettez à jour le type de trafic si nécessaire en fonction du contenu du message. Pour les agents à usage multiple, aucune valeur par défaut n'est fournie. Le type de trafic doit être défini manuellement (par exemple, TRANSACTION, PROMOTION).
AUTHENTICATION Pour les messages d'authentification dans le cas d'utilisation de l'agent OTP.
TRANSACTION Pour les messages transactionnels dans les cas d'utilisation d'agents transactionnels ou à usages multiples.
PROMOTION Pour les messages promotionnels dans les cas d'utilisation d'agents promotionnels ou polyvalents.
SERVICEREQUEST Pour les messages concernant les services que l'utilisateur a accepté de recevoir. Utilisé dans les cas d'utilisation d'agents OTP, transactionnels, promotionnels ou à usages multiples.
ACKNOWLEDGEMENT Messages confirmant la demande de désabonnement de l'utilisateur. Utilisé dans les cas d'utilisation d'agents OTP, transactionnels, promotionnels ou à usages multiples.

Méthodes

create

Envoie un message de l'agent à un utilisateur.

delete

Révoque un message d'agent qui a été envoyé, mais pas encore distribué.