# SMS - Didacticiels

## Documentation de l'API <a href="#howtos-documentationdelapi" id="howtos-documentationdelapi"></a>

La documentation Swagger API est disponible ici :

{% embed url="<https://messages.cloud.cegedim.com/swagger-ui/index.html>" %}

## URL et URI de base <a href="#howtos-urleturidebase" id="howtos-urleturidebase"></a>

Le chemin de base de l'API Vortext est situé à l'adresse :

* `https://vortext.cloud.cegedim.com` pour les services hébergés dans les centres de données cegedim.cloud.
* `https://messages.cloud.cegedim.com` pour les applications tierces qui atteignent Vortext sur Internet.

Toutes les méthodes sont relatives à cette URL.

Par exemple, si vous voulez obtenir le statut de Vortext, vous devez utiliser :

```
GET https://messages.cloud.cegedim.com/status
```

## Sécurité <a href="#howtos-securite" id="howtos-securite"></a>

### Protocole HTTPS <a href="#howtos-protocolehttps" id="howtos-protocolehttps"></a>

Toutes les demandes à l'API de Vortext sont effectuées par le protocole HTTP, en utilisant le cryptage de transport TLSv1.

### Authentification <a href="#howtos-authentification" id="howtos-authentification"></a>

Pour l'instant, l'authentification de base est utilisée pour chaque demande faite au service de Vortext.

Chaque demande est complètement apatride, de sorte que vous pouvez utiliser le service Vortext avec une simple ligne decurl.

Si vous ne connaissez pas l'authentification de base, il suffit d'un en-tête de requête http 'Authorization' :

```
Authorization Basic YWRtaW5pc3RyYXRvc5cnF2NjBTenh3djRuaU5meEV5VFgwaUN4VmNTaHF1djBYU0RIbjY2
```

L'identifiant utilisé est `username:password` encodé en base 64. La plupart des bibliothèques vous demanderont simplement de fournir un nom d'utilisateur et un mot de passe.

## Format des demandes et réponses HTTP : json <a href="#howtos-formatdesdemandesetreponseshttp-json" id="howtos-formatdesdemandesetreponseshttp-json"></a>

Cette API est principalement destinée à traiter les messages json dans les corps de demande et de réponse http.

### Format de la demande HTTP <a href="#howtos-formatdelademandehttp" id="howtos-formatdelademandehttp"></a>

Utilisez l'en-tête `Content-Type : application/json` pour indiquer au service Vortext le format du corps de votre requête.

### Format de la réponse HTTP <a href="#howtos-formatdelareponsehttp" id="howtos-formatdelareponsehttp"></a>

Utilisez l'en-tête `Accept : application/json` pour indiquer au service Vortext le format que vous souhaitez pour le corps de la réponse.

## Format de la date et de l'heure <a href="#howtos-formatdeladateetdelheure" id="howtos-formatdeladateetdelheure"></a>

Comme json ne supporte pas nativement la date et l'heure, tous les paramètres étiquetés comme date dans cette API sont des chaînes au format ISO8601 :

```
`YYYY-MM-DDTHH:MM:SS.sssZ`
```

où Z est le fuseau horaire (comme+0200).

Exemples : `2016-06-01T12:27:19.000+0200`

Pour les paramètres de requête, n'oubliez pas d'encoder ces paramètres en url.

## Nom de l'expéditeur <a href="#howtos-nomdelexpediteur" id="howtos-nomdelexpediteur"></a>

Vous pouvez personnaliser le nom de l'expéditeur du SMS, au lieu d'un numéro classique tel que "30180". Pour ce faire, veuillez faire une demande dans ITCare à notre équipe en demandant la mise en place de cette fonctionnalité.

Une fois votre compte configuré, tous les SMS envoyés le seront avec ce nom d'expéditeur. Pour l'instant, il n'est pas possible d'avoir plusieurs noms d'expéditeur par compte.

## Données personnalisées <a href="#howtos-metadata" id="howtos-metadata"></a>

En option, vous pouvez ajouter un tag de métadonnées à la demande d'envoi de SMS, afin de marquer les données personnalisées pour ce message.

Le tag ajouté sera récupéré lors de l'obtention des détails du SMS.

Exemple d'envoi de SMS avec un tag de métadonnées :

`{ "phoneNumber": "+3361127272727", "message": "Please call me", "metadata": { "myCustomerId": "123de32", "caller": "MyApp 2.2" } }`

## Réponses PUSH <a href="#howtos-reponsespush" id="howtos-reponsespush"></a>

Il est possible de recevoir des réponses PUSH (appel REST https) dès qu'un client répond à un SMS envoyé précédemment.

Pour activer cette fonctionnalité, veuillez faire une demande dans ITCare à notre équipe.

**Conditions :**

* Longueur maximale : 11 caractères
* Caractères autorisés : alphanumériques (a-zA-Z, 0-9) et tirets (-)

Voici les spécifications des demandes sortantes que vous recevrez une fois activées :

<table data-header-hidden><thead><tr><th width="237"></th><th></th></tr></thead><tbody><tr><td>Protocole</td><td>https</td></tr><tr><td>URL</td><td>&#x3C;votre></td></tr><tr><td>Méthode HTTP</td><td>POST</td></tr><tr><td>Authentification</td><td>Aucun</td></tr><tr><td>Content-Type</td><td>application/json</td></tr><tr><td>Corps du message</td><td>{ "response": { "content": "Response of your customer", "answeredAt" : "2020-02-12T13:00:00.000+0000" }, "message": { } }</td></tr></tbody></table>

## Limites <a href="#howtos-limites" id="howtos-limites"></a>

Vous pouvez fixer des limites pour éviter les appels multiples / mauvaises boucles et empêcher certaines inondations :

* total de SMS envoyés par minute
* total de SMS envoyés par heure

Pour activer cette fonctionnalité, veuillez faire une demande dans ITCare à notre équipe.
