Présences
Consultez l’introduction à l’API pour l’authentification, les conventions, la pagination, les limites de requêtes et les erreurs.
Ces points de terminaison permettent de créer et mettre à jour la liste des participants et l’horaire du cours. Les corps de requête sont une représentation JSON des formats CSV ou Excel pris en charge.
Consultez les guides Présences et Import Excel/CSV pour le contexte et les opérations d’administration.
Voici un exemple de corps JSON pour quatre participants inscrits à un cours comportant quatre dates. Les participants ne sont pas tous inscrits à toutes les dates.
[
{
"first_name": "Draco",
"last_name": "Malfoy",
"email": "luciusm@hogwartsrec.com",
"mobile": "555-666-6666",
"date_of_birth": "2008-06-05",
"gender": "Male",
"allergies": "Peanuts",
"medical_conditions": "Asthma",
"group_name": "Slytherin",
"pickup_authorized": "Lucius Malfoy",
"allow_sunscreen": "no",
"allow_photo": "yes",
"allow_leave": "yes",
"daycare": "am pm",
"pickup_password": "mischief",
"friend": "",
"custom": "Slytherin",
"account_owner_first_name": "Lucius",
"account_owner_last_name": "Malfoy",
"account_owner_email": "luciusm@hogwartsrec.com",
"account_owner_mobile": "555-666-6666",
"other_guardian_first_name": "Narcissa",
"other_guardian_last_name": "Malfoy",
"other_guardian_email": "narcissam@hogwartsrec.com",
"other_guardian_mobile": "555-666-6667",
"event_dates": [
"2021-10-18T19:00:00.000Z",
"2021-10-19T19:00:00.000Z",
"2021-10-20T19:00:00.000Z",
"2021-10-21T19:00:00.000Z"
]
},
{
"first_name": "Harry",
"last_name": "Potter",
"email": "lily@hogwartsrec.com",
"mobile": "555-389-1284",
"date_of_birth": "2008-07-31",
"gender": "Male",
"allergies": null,
"medical_conditions": null,
"group_name": "Gryffindor",
"pickup_authorized": "Lily Potter",
"allow_sunscreen": "no",
"allow_photo": "yes",
"allow_leave": "yes",
"daycare": "am pm",
"pickup_password": "bolt",
"friend": "Ron",
"custom": "Gryffindor",
"account_owner_first_name": "Lily",
"account_owner_last_name": "Potter",
"account_owner_email": "lily@hogwartsrec.com",
"account_owner_mobile": "555-389-1284",
"other_guardian_first_name": "James",
"other_guardian_last_name": "Potter",
"other_guardian_email": "james@hogwartsrec.com",
"other_guardian_mobile": "555-389-1293",
"event_dates": [
"2021-10-18T19:00:00.000Z",
"2021-10-19T19:00:00.000Z",
"2021-10-20T19:00:00.000Z"
]
},
{
"first_name": "Ron",
"last_name": "Weasly",
"email": "arthur@hogwartsrec.com",
"mobile": "555-123-1234",
"date_of_birth": "2008-03-12",
"gender": "Male",
"allergies": null,
"medical_conditions": null,
"group_name": "Gryffindor",
"pickup_authorized": "Arthur Weasly",
"allow_sunscreen": "no",
"allow_photo": "yes",
"allow_leave": "yes",
"daycare": "am pm",
"pickup_password": "candy",
"friend": "Harry",
"custom": "Gryffindor",
"account_owner_first_name": "Arthur",
"account_owner_last_name": "Weasly",
"account_owner_email": "arthur@hogwartsrec.com",
"account_owner_mobile": "555-123-1234",
"other_guardian_first_name": "Molly",
"other_guardian_last_name": "Weasly",
"other_guardian_email": "molly@hogwartsrec.com",
"other_guardian_mobile": "555-456-1293",
"event_dates": [
"2021-10-18T19:00:00.000Z",
"2021-10-19T19:00:00.000Z"
]
},
{
"first_name": "Ginny",
"last_name": "Weasly",
"email": "arthur@hogwartsrec.com",
"mobile": "555-123-1234",
"date_of_birth": "2011-04-01",
"gender": "Female",
"allergies": null,
"medical_conditions": null,
"group_name": "Gryffindor",
"pickup_authorized": "Arthur Weasly",
"allow_sunscreen": "no",
"allow_photo": "yes",
"allow_leave": "yes",
"daycare": "am pm",
"pickup_password": "candy",
"friend": "",
"custom": "Gryffindor",
"account_owner_first_name": "Arthur",
"account_owner_last_name": "Weasly",
"account_owner_email": "arthur@hogwartsrec.com",
"account_owner_mobile": "555-123-1234",
"other_guardian_first_name": "Molly",
"other_guardian_last_name": "Weasly",
"other_guardian_email": "molly@hogwartsrec.com",
"other_guardian_mobile": "555-456-1293",
"event_dates": [
"2021-10-18T19:00:00.000Z",
"2021-10-19T19:00:00.000Z",
"2021-10-20T19:00:00.000Z",
"2021-10-21T19:00:00.000Z"
]
}
]
Chaque objet représente un participant et les dates de cours auxquelles il est inscrit. Seul l’attribut email est obligatoire; tous les autres sont facultatifs.
Les attributs first_name, last_name, mobile et email définissent le participant. L’adresse courriel sert de clé et est obligatoire.
L’attribut gender est facultatif. S’il est fourni, il doit valoir Male, Female, NonBinary, NotSpecified ou PreferNotToSay.
L’attribut date_of_birth est facultatif. S’il est fourni, il doit respecter le format YYYY-MM-DD. Par exemple, le 24 décembre 2002 s’écrit 2002-12-24.
Vous pouvez utiliser les attributs facultatifs daycare, pickup_password, friend et custom.
Pour les activités d’enfants, définissez le parent principal au moyen des attributs account_owner_*.
Des frères, sœurs ou membres d’une même famille peuvent utiliser la même adresse courriel. Assurez-vous que leur first_name est différent.
Définissez le deuxième parent ou contact d’urgence au moyen des attributs other_guardian_*.
L’attribut event_dates est un tableau des dates auxquelles le participant est inscrit. Les dates doivent respecter le format ISO. Elles définissent également l’horaire du cours. Si le tableau est vide, le participant n’est inscrit à aucune date du cours.
PUT /api/v1/organization/{organization}/classes/{class}/attendance
Crée ou remplace la liste de présences d’un cours. Une fusion est effectuée à partir de l’adresse courriel afin de conserver les identifiants dans la mesure du possible. Les participants existants absents du corps de requête sont retirés.
PATCH /api/v1/organization/{organization}/classes/{class}/attendance
Met à jour ou complète la liste de présences d’un cours. Les participants sont fusionnés selon leur adresse courriel et de nouveaux participants peuvent être ajoutés. Pour retirer un participant, transmettez ses attributs email et first_name avec un tableau event_dates vide.
GET /api/v1/organization/{organization}/classes/{class}/attendance
Récupère la liste de présences d’un cours. Renvoie un tableau des participants avec leur horaire et les dates/heures d’arrivée et de départ. L’attribut attendance contient ces données. Ce point de terminaison n’est PAS paginé.
{
"id": 2270673,
"first_name": "Draco",
"last_name": "Malfoy",
"email": "luciusm@hogwartsrec.com",
"mobile": "555-666-6666",
"gender": "Male",
"date_of_birth": "2008-06-05",
"allergies": "Peanuts",
"medical_conditions": "Asthma",
"group_name": "Slytherin",
"pickup_authorized": "Lucius Malfoy",
"allow_sunscreen": "no",
"allow_photo": "yes",
"allow_leave": "yes",
"daycare": "am pm",
"pickup_password": "mischief",
"friend": null,
"custom": "Slytherin",
"account_owner_first_name": "Lucius",
"account_owner_last_name": "Malfoy",
"account_owner_email": "luciusm@hogwartsrec.com",
"account_owner_mobile": "555-666-6666",
"other_guardian_first_name": "Narcissa",
"other_guardian_last_name": "Malfoy",
"other_guardian_email": "narcissam@hogwartsrec.com",
"other_guardian_mobile": "555-666-6667",
"event_dates": [
"2021-10-18T19:00:00.000000Z",
"2021-10-19T19:00:00.000000Z",
"2021-10-20T19:00:00.000000Z",
"2021-10-21T19:00:00.000000Z"
],
"attendance": [
{
"start": "2021-10-18T19:00:00.000000Z",
"in_at": "2021-10-18T19:04:25.000000Z",
"out_at": "2021-10-18T20:34:12.000000Z"
},
{
"start": "2021-10-19T19:00:00.000000Z",
"in_at": null,
"out_at": null
},
{
"start": "2021-10-20T19:00:00.000000Z",
"in_at": null,
"out_at": null
},
{
"start": "2021-10-21T19:00:00.000000Z",
"in_at": null,
"out_at": null
}
]
}
En plus de l’attribut
event_dates, l’appelGETrenvoieattendance, qui contient les dates et heures d’arrivée et de départ.