Message RCS

Cette documentation fournit un aperçu des types de messages et d'actions pris en charge par notre API de messagerie. Chaque type est présenté avec une description et un exemple JSON pour faciliter l'intégration et l'utilisation.

Cette description complète et les exemples JSON fournissent un aperçu approfondi des possibilités de l'API RCS. En utilisant ces différents types de messages et d'actions, les développeurs peuvent créer une expérience utilisateur riche et interactive qui améliore la communication entre les entreprises et les clients.

Structure du message

En principe, chaque message peut être composé d'exactement un type de contenu (text, carousel, richcard ou file) et contenir optionnellement des réponses suggérées.

Propriétés

  • Name
    suggestions
    Type
    array
    Optional
    Optional
    Description

    Une liste de suggestions de réponse et suggestions d'action qui est affichée comme une liste sous le dernier message d'agent message. Maximum de 11 suggestions.

  • Name
    text
    Type
    string
    Union
    Description

    Un message texte simple. N'a de sens ici qu'en relation avec des réponses suggérées, car sinon vous pouvez simplement envoyer le texte directement à notre API comme une chaîne simple.

  • carousel
    objectUnion
    Un carrousel est une collection de plusieurs richcards.
      • Name
        width
        Type
        enum
        Description

        Taille du carrousel. Peut être soit SMALL soit MEDIUM.

      • Name
        richcards
        Type
        enum
        Description

        Une liste de richcards.

  • Name
    richcard
    Type
    object
    Union
    Description

    Une richcard est un message enrichi avec du contenu riche. Elle peut contenir du texte, des vidéos, une localisation et bien plus encore. Des boutons sont également possibles avec lesquels le destinataire peut interagir directement, par exemple pour confirmer une réservation ou effectuer un achat.

  • Name
    file
    Type
    object
    Union
    Description

    Envoyer un fichier, tel qu'une image, un fichier audio ou un document, au destinataire.

{
    "suggestions": [
        // ...
    ],

    // Seules les propriétés suivantes peuvent être spécifiées
    // Soit...
    "text": "Votre code est 1234",

    // ...soit...
    "carousel": {
        "width": "SMALL",
        "richcards": [
            {
            // objet richcard...
            },
            // ...
        ]
    },

    // ...soit...
    "richcard": {
        "orientation": "horizontal",
        "thumbnailImageAlignment": "right",
        // ...
    },

    // ...soit...
    "file": {
        "fileUrl": "https://acme.inc/images/image.png",
        "thumbnailUrl": "https://acme.inc/images/thumbnail.png",
        "forceRefresh": false
    }
}

Richcard

  • Name
    title
    Type
    string
    Description

    Le titre de la richcard

  • Name
    description
    Type
    string
    Description

    La description de la richcard

  • Name
    orientation
    Type
    enum
    Optional
    Optional
    Description

    Cette propriété ne doit être spécifiée que lors de l'envoi de richcards individuelles. Peut contenir soit horizontal soit vertical.

  • Name
    thumbnailImageAlignment
    Type
    enum
    Optional
    Optional
    Description

    Cette propriété ne doit être spécifiée que lors de l'envoi de richcards individuelles en mise en page horizontale. Peut contenir soit left soit right.

  • Name
    file
    Type
    object
    Optional
    Optional
    Description

    Un objet fichier.

  • Name
    suggestions
    Type
    array
    Optional
    Optional
    Description

    Une liste de réponses suggérées et d'actions suggérées qui est affichée dans la carte respective. Maximum de 4 suggestions.

{
    "title": "Titre de la richcard",
    "description": "Description de la richcard",
    "orientation": "horizontal",
    "thumbnailImageAlignment": "left",
    "file": {
        // Objet fichier
        // ...
    },
    "suggestions": [
        // liste de réponses suggérées
    ]
}

Envoyer fichier

Notre API met automatiquement en cache les fichiers et les miniatures. Si vous voulez que notre API recharge l'image, changez-la simplement légèrement. Vous pourriez ajouter un paramètre de requête comme ?timestamp=12345 ou un hashtag.

Les types MIME autorisés sont : image/jpeg, image/jpg, image/gif, image/png, video/h263, video/m4v, video/mp4, video/mpeg, video/mpeg4, video/webm

Si le fichier ne fait pas partie d'une richcard mais est spécifié dans l'élément racine, le type MIME application/pdf est également autorisé.

Propriétés

  • Name
    height
    Type
    enum
    Optional
    Optional
    Description

    Ne doit être spécifié que lorsqu'utilisé dans une Richcard en mise en page verticale. Peut être soit short, medium ou tall.

  • Name
    fileUrl
    Type
    string
    Union
    Description

    URL publiquement accessible du fichier. La plateforme RBM détermine le type MIME du fichier à partir de l'en-tête HTTP Content-Type lorsque le fichier est récupéré. Taille de fichier maximale recommandée de 100 MB.

  • Name
    fileContents
    Type
    string
    Union
    Description

    Contenu du fichier encodé en base64

  • Name
    thumbnailUrl
    Type
    string
    Optional
    Optional
    Union
    Description

    Uniquement pour les fichiers image et vidéo. URL publiquement accessible de l'image d'aperçu. Taille maximale 100 kB.

  • Name
    thumbnailContents
    Type
    string
    Optional
    Optional
    Union
    Description

    Uniquement pour les fichiers image et vidéo. Contenu encodé en base64 du fichier miniature. Taille maximale 100 kB.

Si vous ne spécifiez pas de miniature, une miniature placeholder vide est affichée jusqu'à ce que l'appareil de l'utilisateur télécharge le fichier. Selon les paramètres de l'utilisateur, le fichier peut ne pas être téléchargé automatiquement, mais l'utilisateur doit appuyer sur un bouton de téléchargement.

{
    "height": "medium",
    "fileUrl": "https://example.com/bild.jpg",
    "thumbnailUrl": "https://example.com/thumbnail.jpg"
}

Réponses et actions

Les suggestions ne sont affichées que si le message d'agent associé est le message le plus récent dans la conversation (y compris les messages d'agent et les messages utilisateur). L'utilisateur peut appuyer sur une réponse suggérée pour renvoyer la réponse texte à l'agent ou sur une action suggérée pour démarrer sa propre action sur l'appareil.

Propriétés

  • Name
    type
    Type
    enum
    Description

    Le type de réponse ou d'action suggérée. Peut avoir une des valeurs suivantes :

    • reply
    • dial
    • viewLocation
    • createCalendarEvent
    • openUrl
    • shareLocation
  • Name
    text
    Type
    string
    Description

    Texte d'affichage du bouton.

  • Name
    postbackData
    Type
    string
    Description

    Données à retourner lorsqu'une action est déclenchée.

  • Name
    phoneNumber
    Type
    string
    Optional
    Optional
    Description

    Uniquement pour le type dial. Le numéro de téléphone à appeler.

  • location
    objectOptional
    Uniquement pour viewLocation. Contient les données de la localisation.
    • Name
      latitude
      Type
      string
      Description

      latitude

    • Name
      longitude
      Type
      string
      Description

      longitude

    • Name
      label
      Type
      string
      Description

      libellé

  • calendarEvent
    objectOptional
    Uniquement pour createCalendarEvent. Contient les données de l'événement.
    • Name
      startTime
      Type
      string
      Description

      L'heure de début du rendez-vous. Les formats courants tels que 19.06.2024 17:23 ou 2024-06-19 17:23 sont acceptés.

    • Name
      endTime
      Type
      string
      Description

      L'heure de fin du rendez-vous. Les formats courants tels que 19.06.2024 17:23 ou 2024-06-19 17:23 sont acceptés.

    • Name
      title
      Type
      string
      Description

      Le titre de l'événement du calendrier.

    • Name
      description
      Type
      string
      Description

      La description de l'événement du calendrier.

  • Name
    url
    Type
    string
    Optional
    Optional
    Description

    Uniquement pour le type openUrl. L'URL à ouvrir.

  • Name
    webviewMode
    Type
    string
    Optional
    Optional
    Description

    Uniquement pour le type openUrl. Le mode webview à utiliser lors de l'ouverture de l'URL. Peut être soit tall (le site web occupe trois quarts de l'écran), half (le site web occupe la moitié de l'écran) ou full (le site web occupe tout l'écran).

[
    // Réponse suggérée
    {
        "type": "reply",
        "text": "oui",
        "postbackData": "clicked_yes"
    },

    // Appel suggéré
    {
        "type": "dial",
        "text": "appeler",
        "postbackData": "clicked_call_button",
        "phoneNumber": "49176123456789"
    },

    // voir localisation
    {
        "type": "viewLocation",
        "text": "voir localisation",
        "postbackData": "clicked_view_location_button",
        "location": {
            "latitude": 54.3233,
            "longitude": 10.1228,
            "label": "Kiel"
        }
    },

    // Créer événement calendrier
    {
        "type": "createCalendarEvent",
        "text": "créer événement",
        "postbackData": "clicked_call_button",
        "calendarEvent": {
            "startTime": "",
            "endTime": "",
            "title": "Un rendez-vous important",
            "description": "Nous attendons votre visite avec impatience."
        }
    },

    // Ouvrir URL
    {
        "type": "openUrl",
        "text": "Ouvrir",
        "postbackData": "clicked_url_button",
        "url": "https://www.example.com"
    },

    // partager localisation
    {
        "type": "shareLocation",
        "text": "partager localisation",
        "postbackData": "clicked_share_location_button"
    }
]

Exemples

Message texte avec réponses suggérées

Envoie un message texte simple avec trois réponses suggérées au destinataire. Les messages texte sont les types de messages les plus basiques qui peuvent être utilisés pour la communication directe d'informations, de questions ou d'instructions. Vous recevrez la valeur de postbackData de la réponse sélectionnée dans le webhook.

Un carrousel vertical
{
  "text": "Salut, aimeriez-vous cliquer sur un bouton ?",
  "suggestions": [
    {
      "type": "reply",
      "text": "Oui",
      "postbackData": "clicked_yes"
    },
    {
      "type": "reply",
      "text": "Non",
      "postbackData": "clicked_no"
    },
    {
      "type": "reply",
      "text": "Je ne sais pas",
      "postbackData": "clicked_dont_know"
    }
  ]
}
Afficher l'aperçu RCS

Richcard simple avec une image

Cet exemple envoie une image avec l'action suggérée d'afficher l'image dans le navigateur. Veuillez noter que les suggestions ici sont dans la richcard au lieu d'être sur la couche principale. Si elles étaient sur la couche principale, le message RCS compterait comme deux messages et serait plus cher.

Ein vertikales Karousel
{
  "richcard": {
    "title": "Chien",
    "description": "Voici la photo d'un chien.",
    "orientation": "vertical",
    "file": {
      "height": "tall",
      "fileUrl": "https://picsum.photos/id/237/200/300",
      "thumbnailUrl": "https://picsum.photos/id/237/50"
    },
    "suggestions": [
      {
        "type": "openUrl",
        "text": "Afficher l'image",
        "postbackData": "clicked_url",
        "url": "https://picsum.photos/id/237/800"
      }
    ]
  }
}
Afficher l'aperçu RCS

Un carrousel vertical

Cet exemple montre un carrousel composé de trois cartes individuelles et étroites dans une mise en page horizontale, chacune avec des hauteurs différentes.

Chacune des trois cartes a une action suggérée. Pour des raisons d'espace, le texte de la réponse suggérée n'est pas affiché en entier sur la première carte et l'action suggérée n'est pas affichée sur la dernière carte.

Ein vertikales Karousel
{
    "carousel":
    {
        "width": "SMALL",
        "richcards": [
            {
                "title": "Chien",
                "description": "Photo courte d'un chien.",
                "file":
                {
                    "height": "short",
                    "fileUrl": "https://picsum.photos/id/237/300",
                    "thumbnailUrl": "https://picsum.photos/id/237/50"
                },
                "suggestions": [
                  {
                      "type": "reply",
                      "text": "Oui, c'est un chien.",
                      "postbackData": "yes_this_is_a_dog_clicked"
                  }
                ]
            },
             {
                "title": "Chien",
                "description": "Photo moyenne d'un chien.",
                "file":
                {
                    "height": "medium",
                    "fileUrl": "https://picsum.photos/id/237/300",
                    "thumbnailUrl": "https://picsum.photos/id/237/50"
                },
                "suggestions": [
                  {
                      "type": "reply",
                      "text": "mignon",
                      "postbackData": "sweet_dog_clicked"
                  }
                ]
            },
            {
                "title": "Chien",
                "description": "Photo grande d'un chien.",
                "file":
                {
                    "height": "tall",
                    "fileUrl": "https://picsum.photos/id/237/300",
                    "thumbnailUrl": "https://picsum.photos/id/237/50"
                },
                "suggestions": [
                  {
                      "type": "reply",
                      "text": "oui",
                      "postbackData": "yes_clicked"
                  }
                ]
            }
        ]
    }
}
Afficher l'aperçu RCS