Connecteur appelé par le module 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> |
...
Pas de paramètres ou headers particuliers
Format de retour
Format attendu
| Bloc de code |
|---|
{
"lastname": string;
"firstname"firstname: string;
birthdate?: string;
"gender?": string;
"title": string;
"subtitle?": string;
"ine?"ine?: string;
csn?: string;
"photo": string;
"affiliation": string;
"idNumber": string;
"endDate": number;
"qrCode?": {
"type:" string;
"value": string;
};
"errors": string[];
} |
...
lastname : nom de l’utilisateur
firstname : prénom de l’utilisateur
- birthdate (nullable) : date de naissance de l'utilisateur
gender (nullable) : genre de l’utilisateur
- titlte : titre du document
affiliation : type d’utilisateur (student | staff)
photo : photo de l’utilisateur encodée en base64- 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 staffCard. ???NB : 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é
...
| 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": null"Enseignant chercheur",
"endDatecsn": "2024"null,
"idNumberendDate": "UL00001234562026",
"csn"idNumber": "0A0A0A0A0A0AAA1234567890",
"qrCode": {
"type": "text",
"value": "00000@ul"
}
}
}"errors": [],
} |