Pages enfant
  • Utilisation du web-service smsuapi

Depuis la version 1.1.4 de smsuapi, le web-service est utilisable avec

  • une authentification "basic"
  • les paramètres passées en GET

Exemples simple d'envoi de SMS

curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/?action=SendSms&phoneNumber=0601010101&message=foo'
curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/?action=SendSms&phoneNumber=0601010101&phoneNumber=0601010102&message=foo'

Exemple d'envoi de SMS puis consultation du statut de l'envoi

curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/?action=SendSms&phoneNumber=0601010101&message=foo'

La réponse à l'action "SendSms" est une structure de données simple en JSON. Voici un exemple de réponse :

{"status":"OK","id":123}

puis vous pouvez consulter l'état de l'envoi 123 :

curl -u user:xxx 'https://sms.univ.fr/esup-smsuapi/?action=MessageInfos&id=123'

La réponse à l'action "MessageInfos" est une structure de données simple en JSON. Voici un exemple de réponse :

{"nbDestTotal":1,"nbDestBlackList":1,"nbSentSMS":0,"nbProgressSMS":0,"nbErrorSMS":1,"listNumErreur":["0601010101"]}

Envoi en masse

Les paramètres GET ne permettent pas l'envoi à de nombreux numéros de téléphone. Dans ce cas utiliser une requête POST (exemple).

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 :

 

	<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 :

 

Int id = httpRequestSmsuapiWS.sendSms(null, "0601010101", "foo");
...
if (id != null) trackInfos = httpRequestSmsuapiWS.messageInfos(id);


  • Aucune étiquette