...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
curl -F "eppn=username@univ-ville.fr" -F "difPhotoTransient=true" -F "crousTransient=true" -F "europeanTransient=true" -F "PhotoFile.file=@/path/to/image.png" https://esup-sgc.univ-ville.fr/wsrest/api |
En réponse, et si la demande a pu effectivement être effectuée, le web-service retourne simplement l'id de la carte (id de la base de donnée).
La liste des clients autorisés à utiliser ce webservice est définie dans la variable accessRestrictionWSRestAPI du fichier security.properties. Par exemple, pour autoriser certaines adresses IP (notez que la valeur de cette variable n'est pas entourée de guillemets):
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
accessRestrictionWSRestApi=hasIpAddress('127.0.0.1') or hasIpAddress('192.168.1.39') or hasIpAddress('192.168.22.0/24') |
Comment passer la carte d'un état à un autre via web-service ?
Le passage d'un état à un autre d'une carte peut se faire via l'appel à un webservice. Cet appel ressemble à ceci :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
curl -d "etat=REQUEST_CHECKED" https://esup-sgc.univ-ville.fr/wsrest/api/setCardEtat/1818864 |
Où 1818864 est l'id de la carte. Cet appel retourne true ou false suivant que la commande a réussi ou échoué.
Ainsi, si on veut par exemple demander une carte par web-service et valider aussitôt cette demande, il faudra appeler le web service de la question précédente suivie de celui-ci.
Exemple en python :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
api_url = "https://esup-sgc.univ-ville.fr"
response = requests.post(api_url, data={"eppn":"toto@univ-ville.fr"}, files={"PhotoFile.file":("photo-toto.png", open("/tmp/photo-toto.png","rb"), "image/png")})
card_id = response.text
response = requests.post("%s/setCardEtat/%s" % (api_url, card_id), data={"etat":"REQUEST_CHECKED"})
print(response.text) |
De quelles données utilisateur issues du SI esup-sgc a besoin ?
...