Appearance
Pointage du personnel
Cette API permet à un logiciel externe d'envoyer les heures réelles d'arrivée et de départ du personnel dans ABCreche.
Le principe recommandé est le suivant :
- Récupérer la liste du personnel via l'endpoint de liste.
- Faire la correspondance dans votre système entre votre employé et le couple
staff.uuid+creche.uuidretourné par ABCreche. - Lorsqu'une personne pointe son arrivée ou son départ, envoyer
start_atet/ouleft_atsur la fiche personnel ABCreche correspondante. - Conserver l'
attendance.uuidretourné si vous voulez ensuite mettre à jour précisément cette même présence.
Les URIs ci-dessous sont relatives au préfixe API. Si vous appelez directement l'API ABCreche, le chemin complet commence généralement par /api/v1.
Authentification
Toutes les requêtes doivent être envoyées avec un token API fourni par ABCreche.
Headers
| Header | Valeur |
|---|---|
Authorization | Bearer {token} |
Accept | application/json |
Content-Type | application/json |
Attention
Le token doit appartenir à un utilisateur lié à l'organisation. Il n'est pas nécessaire que cet utilisateur ait accès aux structures d'accueil une par une.
Liste du personnel
Cet endpoint permet de récupérer les fiches personnel disponibles pour le pointage.
Request
- HTTP Method:
GET - Content Type:
application/json - URI:
/organization/{organizationUuid}/staff-time-clock/staff
Parameters
| Property | Type | Required | Description |
|---|---|---|---|
search | String | false | Filtre par prénom, nom ou email. |
active | Integer | false | Retourne uniquement le personnel dont le contrat n'est pas terminé. |
creche_uuids[] | Array of UUIDs | false | Limite les résultats à certaines structures de l'organisation. |
Exemple
http
GET /organization/5f963d99-0a8f-47e1-a04d-6c0d5b7b7d43/staff-time-clock/staffResponse
json
{
"data": [
{
"uuid": "10971807-b54a-495e-8as3-0e5cc7516f62",
"first_name": "PRENOM",
"last_name": "NOM",
"name": "PRENOM NOM",
"email": "[email protected]",
"function": null,
"status": null,
"contract_start_at": null,
"contract_end_at": null,
"creche": {
"uuid": "9928c211-abd9-4902-8db3-d3e8d2b89b0a",
"name": "Creche A"
}
},
{
"uuid": "10971807-b54b-495e-8as3-0e5cc7516f62",
"first_name": "PRENOM 2",
"last_name": "NOM 2",
"name": "PRENOM 2 NOM 2",
"email": "[email protected]",
"function": null,
"status": null,
"contract_start_at": null,
"contract_end_at": null,
"creche": {
"uuid": "9928c212-abd9-4902-8db3-d3e8d2b89b0a",
"name": "Creche B"
}
}
]
}Attention
Une même personne peut avoir accès à plusieurs structures d'accueil, vous pouvez donc observer des doublons dans la liste des résultats. C'est normal car les accès aux différents milieux d'accueil sont indépendants et sont listés séparément. Il y a donc une fiche personnel pour chaque accès. Si Madame Y a accès à la Creche A et à la Creche B, il apparaîtra donc deux fois dans la liste. Afin de pointer les heures sur la bonne fiche, il faudra cibler le bon résultat sur base de l'uuid de la structure d'accueil (creche).
Liste des présences d'un membre du personnel
Cet endpoint permet de consulter les présences existantes pour une fiche personnel.
Il est utile si vous voulez :
- vérifier si une présence existe déjà pour une date ;
- récupérer l'
attendance.uuidavant de faire une mise à jour ; - gérer le cas où plusieurs présences existent pour la même date.
Request
- HTTP Method:
GET - Content Type:
application/json - URI:
/organization/{organizationUuid}/staff-time-clock/staff/{staffUuid}/attendances
Parameters
| Property | Type | Required | Description |
|---|---|---|---|
from | Date YYYY-MM-DD | false | Date de début de la période. |
to | Date YYYY-MM-DD | false | Date de fin de la période. |
Exemple
http
GET /organization/5f963d99-0a8f-47e1-a04d-6c0d5b7b7d43/staff-time-clock/staff/10971807-b54a-495e-8as3-0e5cc7516f62/attendances?from=2026-05-01&to=2026-05-31Response
json
{
"data": [
{
"uuid": "7f3d9d87-2ec7-4fc7-b199-8a760da683c0",
"staff_uuid": "10971807-b54a-495e-8as3-0e5cc7516f62",
"creche_uuid": "9928c211-abd9-4902-8db3-d3e8d2b89b0a",
"date": "2026-05-04",
"start_at": "2026-05-04 08:03:00",
"left_at": "2026-05-04 17:58:00",
"should_start_at": "2026-05-04 08:00:00",
"should_left_at": "2026-05-04 18:00:00",
"type": 2,
"type_label": "Journée complète"
}
]
}Créer ou mettre à jour un pointage par date
Cet endpoint est le plus simple à utiliser pour une intégration de pointage.
Il permet d'envoyer une arrivée, un départ ou les deux pour une date donnée.
- Si une présence existe déjà pour ce personnel et cette date, elle est mise à jour.
- Si aucune présence n'existe, une nouvelle présence est créée.
- Si plusieurs présences existent pour cette date, il faut préciser
attendance_uuid.
Request
- HTTP Method:
POST - Content Type:
application/json - URI:
/organization/{organizationUuid}/staff-time-clock/staff/{staffUuid}/attendances
Body
| Property | Type | Required | Description |
|---|---|---|---|
date | Date YYYY-MM-DD | true | Date de la présence. |
start_at | DateTime YYYY-MM-DD HH:MM:SS | false | Heure réelle d'arrivée. Obligatoire si left_at n'est pas envoyé. |
left_at | DateTime YYYY-MM-DD HH:MM:SS | false | Heure réelle de départ. Obligatoire si start_at n'est pas envoyé. |
type | Integer | false | Type de présence. Obligatoire uniquement si une nouvelle présence doit être créée. |
attendance_uuid | UUID | false | Présence exacte à mettre à jour lorsqu'il y a plusieurs présences le même jour. |
Types de présence
| Valeur | Description |
|---|---|
1 | Demi-journée |
2 | Journée complète |
3 | Demi-journée de congé |
4 | Journée de congé |
5 | Demi-journée d'absence justifiée |
6 | Absence justifiée |
7 | Demi-journée d'absence |
8 | Absence |
Recommandation
Dans la plupart des cas, ABCreche aura déjà créé les présences prévues. Vous pouvez donc envoyer uniquement date + start_at et/ou left_at.
Si l'API répond que type est obligatoire, cela signifie qu'aucune présence n'existe pour cette date. Dans ce cas, envoyez le type correspondant à la présence à créer, par exemple 2 pour une journée complète.
Exemple - envoyer une arrivée
http
POST /organization/5f963d99-0a8f-47e1-a04d-6c0d5b7b7d43/staff-time-clock/staff/10971807-b54a-495e-8as3-0e5cc7516f62/attendancesjson
{
"date": "2026-05-04",
"start_at": "2026-05-04 08:03:00"
}Exemple - envoyer un départ
json
{
"date": "2026-05-04",
"left_at": "2026-05-04 17:58:00"
}Exemple - créer une présence si elle n'existe pas encore
json
{
"date": "2026-05-04",
"type": 2,
"start_at": "2026-05-04 08:03:00",
"left_at": "2026-05-04 17:58:00"
}Response
json
{
"data": {
"uuid": "7f3d9d87-2ec7-4fc7-b199-8a760da683c0",
"staff_uuid": "10971807-b54a-495e-8as3-0e5cc7516f62",
"creche_uuid": "9928c211-abd9-4902-8db3-d3e8d2b89b0a",
"date": "2026-05-04",
"start_at": "2026-05-04 08:03:00",
"left_at": "2026-05-04 17:58:00",
"should_start_at": "2026-05-04 08:00:00",
"should_left_at": "2026-05-04 18:00:00",
"type": 2,
"type_label": "Journée complète"
}
}Mettre à jour une présence précise
Cet endpoint permet de mettre à jour une présence lorsque vous connaissez déjà son attendance.uuid.
Il est recommandé après avoir récupéré les présences via l'endpoint de liste ou après avoir conservé l'uuid retourné par une création/mise à jour précédente.
Request
- HTTP Method:
PATCH - Content Type:
application/json - URI:
/organization/{organizationUuid}/staff-time-clock/staff/{staffUuid}/attendances/{attendanceUuid}
Body
| Property | Type | Required | Description |
|---|---|---|---|
start_at | DateTime YYYY-MM-DD HH:MM:SS | false | Heure réelle d'arrivée. Obligatoire si left_at n'est pas envoyé. |
left_at | DateTime YYYY-MM-DD HH:MM:SS | false | Heure réelle de départ. Obligatoire si start_at n'est pas envoyé. |
Exemple
http
PATCH /organization/5f963d99-0a8f-47e1-a04d-6c0d5b7b7d43/staff-time-clock/staff/10971807-b54a-495e-8as3-0e5cc7516f62/attendances/7f3d9d87-2ec7-4fc7-b199-8a760da683c0json
{
"left_at": "2026-05-04 17:58:00"
}Règles importantes
Format des dates
Les dates et heures doivent être envoyées au format :
txt
YYYY-MM-DD HH:MM:SSExemple :
txt
2026-05-04 08:03:00N'envoyez pas de format ISO avec timezone comme 2026-05-04T08:03:00Z.
Ordre arrivée / départ
Si start_at et left_at sont connus, left_at doit être supérieur ou égal à start_at.
Données modifiables
Cette API modifie uniquement :
start_atleft_at
Elle ne permet pas de modifier les horaires prévus, les informations administratives du personnel, les données enfants, les données parents ou les accès aux structures.
Gestion des erreurs
| Code | Signification | Action recommandée |
|---|---|---|
401 | Token absent ou invalide. | Vérifier le header Authorization. |
403 | L'utilisateur n'a pas accès à cette organisation. | Vérifier que le token est lié à l'organisation. |
404 | Personnel ou présence introuvable pour cette organisation. | Vérifier les UUIDs utilisés. |
422 | Données invalides. | Corriger le payload selon les erreurs retournées. |
Erreur fréquente : plusieurs présences le même jour
Si plusieurs présences existent pour un même membre du personnel et une même date, l'API ne peut pas choisir automatiquement laquelle mettre à jour.
Dans ce cas :
- Appelez l'endpoint de liste des présences pour la date concernée.
- Choisissez la bonne présence.
- Renvoyez le pointage avec
attendance_uuidou utilisez l'endpointPATCH.
Exemple de réponse :
json
{
"message": "The given data was invalid.",
"errors": {
"attendance_uuid": [
"Plusieurs présences existent pour cette date. Précisez attendance_uuid."
]
}
}Implémentation recommandée côté logiciel de pointage
Synchronisation initiale
Au démarrage de l'intégration, appelez :
http
GET /organization/{organizationUuid}/staff-time-clock/staff?active=1Enregistrez dans votre système :
- l'identifiant interne de votre employé ;
- le
staff.uuidABCreche ; - le
creche.uuidABCreche ; - éventuellement le nom de la crèche pour aider l'utilisateur à choisir la bonne fiche.
Envoi d'une arrivée
Lorsqu'un employé pointe son arrivée :
json
{
"date": "2026-05-04",
"start_at": "2026-05-04 08:03:00"
}Envoi d'un départ
Lorsqu'un employé pointe son départ :
json
{
"date": "2026-05-04",
"left_at": "2026-05-04 17:58:00"
}Stratégie de retry
Si une requête échoue temporairement, vous pouvez la réessayer plus tard avec les mêmes données.
Pour éviter les ambiguïtés, conservez l'attendance.uuid retourné par ABCreche dès que possible et utilisez ensuite l'endpoint PATCH pour les mises à jour précises.