...
- une authentification "basic"
- les paramètres passées en GET
...
- ou en POST (application/x-www-form-urlencoded)
Exemples simple d'envoi de SMS
| Bloc de code |
|---|
curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/rest?action=SendSms&phoneNumber=0601010101&message=foo' curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/?action=SendSms&phoneNumber=0601010101&phoneNumber=0601010102&message=foo' # ou équivalent : curl --get -u user:xxx https://sms.univ.fr/esup-smsuapi/ --data 'action=SendSms' --data 'message=foo' --data 'phoneNumber=0601010101' --data 'phoneNumber=0601010102' # en POST : curl -u user:xxx https://sms.univ.fr/esup-smsuapi/ --data 'action=SendSms' --data 'message=foo' --data 'phoneNumber=0601010101' --data 'phoneNumber=0601010102' |
Exemple d'envoi de SMS puis consultation du
...
statut de l
...
'envoi
...
| Bloc de code |
|---|
curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/rest?action=SendSms&phoneNumber=0601010101&message=foo&id=123'' |
La réponse à l'action "SendSms" est une structure de données simple en JSON. Voici un exemple de réponse :
| Bloc de code |
|---|
{"status":"OK","id":123} |
puis vous pouvez consulter l'état de l'envoi 123 :
| Bloc de code |
|---|
curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/rest?action=MessageInfos&id=123' |
...
| Bloc de code |
|---|
{"nbDestTotal":1,"nbDestBlackList":1,"nbSentSMS":0,"nbProgressSMS":0,"nbErrorSMS":1,"listNumErreur":["0601010101"]} |
Exemple simple en java
...
Envoi en masse
Les paramètres GET ne permettent pas l'envoi à de très nombreux numéros de téléphone. Dans ce cas utiliser une requête POST :
| Bloc de code |
|---|
curl -u user:xxx https://sms.univ.fr/esup-smsuapi/ --data 'action=SendSms' --data 'message=foo' --data 'phoneNumber=0601010101' --data 'phoneNumber=0601010102' |
En java
Le plus simple est d'utiliser le jar esup-smsu-api disponible sur le repository maven. Ce jar contient la classe org.esupportail.smsuapi.services.client.HttpRequestSmsuapiWS.
Avec spring, on peut notamment faire un bean :
| Bloc de code |
|---|
<bean id="httpRequestSmsuapiWS"
class="org.esupportail.smsuapi.services.client.HttpRequestSmsuapiWS">
<property name="username" value="${smsuapi.ws.basic.auth.username}" />
<property name="password" value="${smsuapi.ws.basic.auth.password}" />
<property name="url" value="${smsuapi.ws.address}" />
</bean> |
La classe HttpRequestSmsuapiWS s'occupe de tout. Exemple :
| Bloc de code |
|---|
Int id = httpRequestSmsuapiWS.sendSms(null, "0601010101", "foo");
...
if (id != null) trackInfos = httpRequestSmsuapiWS.messageInfos(id); |
En nodejs
Exemple : https://github.com/EsupPortail/esup-otp-api/blob/master/transports/sms.jsactiv/branches/esup-activ-2.0/esup-activ-bo/src/org/esupportail/activbo/domain/beans/channels/SMSUChannel.java