# Modèles : RCS
# Introduction
Cette API permet d’importer des modèles de messages RCS (Rich Communication Services) destinés à être envoyés via un canal de messagerie enrichie. Deux formats de templates sont disponibles :
- RCS Simple (carte unique)
- RCS Carrousel (plusieurs cartes à défilement manuel)
# Ajouter un modèle
# URL à appeler
https://www.spot-hit.fr/api/rcs/model/create
# Paramètres attendus
| Paramètre | Type | Description |
|---|---|---|
| key | string | Votre clé API d'identification |
| model | json | le JSON du modèle |
| {cid:XXX} | file | Fichier(s) (images ou vidéos) |
# Notes techniques
- Le format {cid:xxx} est un Content-ID utilisé pour associer dynamiquement une pièce jointe (transmise en multipart/form-data) à un champ média dans le JSON. Il faut remplacer le xxx par un nom unique.
- L’API parse le corps multipart/form-data, lit la clé formtype, et remplace chaque {cid:xxx} par l’identifiant du fichier réel lors du traitement.
- Le champ "mediaType" peut supporter : vidéo ou image.
- Le carrousel doit comporter entre 2 et 10 cartes.
Important
Un carrousel est une addition de plusieurs cartes.
# Exemple de JSON pour un template RCS carte
# Exemple de JSON pour un template RCS Carrousel
# Résultats
| Champ | Type | Description |
|---|---|---|
| success | bool | Spécifie l'état de création |
| id | int | ID du média créé (à conserver pour l’utiliser pour l’envoi en API d’un RCS) |
# > Propriétés du modèle
# Partie : content
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| card | array | Oui | Spécifie le contenu des cartes Voir détail ici |
| property | array | Oui | Propriété du modèle RCS Voir détail ici |
# Partie : content -> card
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| title | string | Oui | Spécifie le titre de la carte Maximum : 200 caractères |
| text | string | Oui | Spécifie contenu de la carte Maximum : 2000 caractères |
| mediaType | string enum | Oui | Type du RCS Valeurs possible : image ou video |
| file | file | Oui | Fichier de l'image (jpg ou png) ou de la vidéo (mp4) |
| videoThumbnail | file | Oui | Fichier de type image (jpg ou png) pour la miniature à afficher avant le chargement de la vidéo Utile uniquement pour mediaType video |
| buttons | array | Oui | Voir détail ici |
| suggestions | array | Oui | Voir détail ici |
| options | array | Oui | Options |
# Partie : content -> property
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| stop | bool | Oui | Acceptation du STOP |
Utilisations de variables
Si vous envisagez d'utiliser des variables issues de votre liste de contacts dans votre modèle, vous devez impérativement les nommer en lettres minuscules.
Exemple :
{ma_variable}
# > Propriétés des boutons
# Type reply
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : reply |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Type URL
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : url |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| url | string | Oui | Url du site Maximum : 2048 caractères Votre URL doit respecter le format https://monurl Dans le cas contraire, votre RCS ne pourra pas être envoyé et sera éventuellement remplacé par un message de repli. |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options |
# Option disponibles
application :
- WEBVIEW : Si cette option est définie le lien sera ouvert en mode webview (navigateur intégré à la conversation)
webviewMode :
- HALF : Le navigateur intégré occupera la moitié de l'écran
- TALL : Le navigateur intégré occupera environ 75% de l'écran
- FULL : Le navigateur intégré s'affichera en plein écran
Exemple de code :
# Type call
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : call |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| phoneNumber | string | Oui | Numéro de téléphone Votre numéro de téléphone doit respecter le format +33XXXXXXX Dans le cas contraire, votre RCS ne pourra pas être envoyé et sera éventuellement remplacé par un message de repli. |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Type event
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : event |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| title | string | Oui | Titre de l'événement Maximum : 100 caractères |
| description | string | Oui | Description de l'événement Maximum : 500 caractères |
| startTime | datetime | Oui | Date et heure de début de l'événement Ex : 10/07/2025 10:00 |
| endTime | datetime | Oui | Date et heure de fin de l'événement Ex : 10/07/2025 18:00 |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Type geoquery
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : geoquery |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| description | string | Oui | Description du lieu Maximum : 500 caractères |
| query | string | Oui | Adresse de destination du lieu |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Type geoloc
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : geoloc |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| description | string | Oui | Description du lieu Maximum : 500 caractères |
| latitude | float | Oui | Latitude du lieu |
| longitude | float | Oui | Longitude du lieu |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Type geoshare
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : geoshare |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| shareLocation | string | Oui | Partage de position |
| postback | string | Non | Valeur de retour |
| options | array | Non | Options (non utilisé) |
# Type whatsapp
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : whatsapp |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| phoneNumber | string | Oui | Numéro de téléphone de réponse |
| whatAppMessage | string | Oui | Message à afficher dans la messagerie Maximum : 100 caractères |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# > Propriétés des suggestions
# Configuration
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| type | string | Oui | Spécifie le type de donnée Valeur : reply |
| caption | string | Oui | Titre du bouton Maximum : 25 caractères |
| postback | string | Non | Valeur de retour Maximum : 2000 caractères |
| options | array | Non | Options (non utilisé) |
# Modifier un modèle
# URL à appeler
https://www.spot-hit.fr/api/rcs/model/modify
# Paramètres attendus
| Paramètre | Type | Description |
|---|---|---|
| key | string | Votre clé API d'identification |
| id | int | ID du modèle à modifier |
| model | json | le JSON du modèle |
| {cid:XXX} | file | Fichier(s) (images ou vidéos) |
# Résultats
| Champ | Type | Description |
|---|---|---|
| success | bool | Spécifie l'état de création |
| id | int | ID du média modifié (à conserver pour l’utiliser pour l’envoi en API d’un RCS) |
# Supprimer un modèle
# URL à appeler
https://www.spot-hit.fr/api/rcs/model/delete
# Paramètres attendus
| Paramètre | Type | Description |
|---|---|---|
| key | string | Votre clé API d'identification |
| id | int | ID du modèle à supprimer |
# Résultats
| Champ | Type | Description |
|---|---|---|
| success | bool | Spécifie l'état de création |