Connecteur appelé par le module cards card. Il doit retourner la liste des cartes dématérialisées à afficher pour un utilisateur donnéles données de l'utilisateur permettant de lui afficher sa carte de l'établissement de manière dématérialisée.
Paramètres d'appels
URL en méthode GET :
| Bloc de code |
|---|
<host>/<uri>/<username> |
- host : adresse du serveur
- uri : chemin éventuel vers le service
- username : identifiant (login) de l'utilisateur pour lequel on souhaite les informations et les rôles, c'est à dire
- , soit l'utilisateur qui se connecte . Le login sera celui retourné par le serveur CAS après authentification
- .
Pas de paramètres ou headers particuliers
Format de retour
Format attendu
| Bloc de code | ||
|---|---|---|
| ||
{
"lastname": Stringstring,
"firstname": Stringstring,
"birthdate": String,
"gender": String,
"affiliationbirthdate": Stringstring,
"photo": String,
"ine": String,
"errorsgender": []string,
"cards": {
"studentCard": {
"title": Stringstring,
"subtitle": Stringstring,
"endDate "ine": Numberstring,
"idNumber": String,
"csn": String,
"qrCode": {
"type": String,
"value": String
}
},
"euStudentCard": {
"title": String,
"subtitle": String,
string,
"photo": string,
"affiliation": string,
"idNumber": string,
"endDate": Numbernumber,
"idNumber": String,
"ecsn": Number,
"euid": Number,
" "qrCode": {
"type": Stringstring,
"value": Stringstring
}
},
"staffCard": {
"title": String,
"subtitle": String,
"endDate": Number,
"idNumber": String,
"csn": String,
"qrCode": {
"type": String,
"value": String
}
}
}
} |
Les données à la racine seront les données communes à chaque carte :
},
"errors": []
} |
lastname : nom lastname : prénom de l’utilisateur
firstname : nom prénom de l’utilisateur
- birthdate (nullable) : date de naissance de l’utilisateur
- l'utilisateur
gender (nullable) : genre de l’utilisateur
affiliation : type d’utilisateur (student | staff)
photo : photo de l’utilisateur encodée en base64- titlte : titre du document
- subtitle (nullable) : complément du titre
- ine (nullable) : code INE de l’utilisateur (dans le cas où l’utilisateur est un étudiant)
- csn (nullable)
...
- : numéro de série de la carte
- photo : photo de l’utilisateur encodée en base64
affiliation : type d’utilisateur (student | staff) - permet d'identifier le template SVG à utiliser
idNumber : identifiant de l'utilisateur au sein de l'établissement
endDate : année de fin de validation de l'inscription en cours
- qrCode (nullable) :
type : type d’action au scan du QRCode (text|url)
value : la valeur du QRCode à générer (texte pour un QR de type text ou une url pour un QR de type url)
Enfin, à chaque type de carte devra correspondre un template SVG. Par exemple : Pour l’Université de Lorraine, nous avons identifié 3 types de carte différents (soit 3 templates SVG) : studentCard, euStudentCard et staffCardNB : Pour le moment on s’en tiendra à seulement 2 types de QRCode simple qui sont text et url. Si un établissement veut mettre en place d’autres types (SMS, mailto, vcard…), il devra adapter le code.
| Avertissement | ||
|---|---|---|
| ||
On ne peut pour le moment pas ajouter de données a afficher dans le SVG. |
Cas d'erreur
Codes erreurs
Liste des codes erreurs actuels concernant l’API des cartes dématérialisées :
...
| Remarque |
|---|
Ces codes erreurs sont actuellement retournés avec un code HTTP 200 car il ne s’agit pas d’une erreur au sens propre de l’API mais plutôt d’une indication à l’utilisateur qu’il ne peut pas disposer d’une carte dématérialisée dans l’application mobile. |
Autres erreurs
user_not_found (code 404) : L’utilisateur dont le login est passé en paramètre lors de l’appel n’a pas pu être trouvé dans le SI de l’Université
Exemple :
| Bloc de code | ||
|---|---|---|
| ||
{
"error": "user_not_found_in_ldap",
"error_description": "L'utilisateur avec pour uidNumber or login 'bidule' n'a pas pu être trouvé dans le LDAP ou est sursitaire"
} |
| Info |
|---|
L’application catche capte donc 2 types d’erreur :
|
Exemple
| Bloc de code | ||
|---|---|---|
| ||
{
"lastname": "DidierDupont",
"firstname": "CélineAlice",
"gender": null,
"birthdate": "01/01/2000",
"affiliation": "staff",
"ine": null,
"errors": [],
"photo": "data:image/jpeg;base64,/9j/4pleindecaracteres4AA..."
"cards": {
"staffCardine": {null,
"title": "Carte Professionnelleprofessionnelle",
"subtitle": "Enseignant nullchercheur",
"endDatecsn": "2024"null,
"idNumber"endDate": "UL00001234562026",
"csn"idNumber": "0A0A0A0A0A0AAA1234567890",
"qrCode": {
"type": "text",
"value": "00000@ul"
}
}
}"errors": []
} |