API REST v1
Mis à jour le 8 juillet 2026
L'API REST d'AccessTime est la même que celle utilisée par notre application mobile : tout ce que fait l'application passe par ici. Vous pouvez aussi l'utiliser pour de petites intégrations maison, par exemple consulter les pointages du jour depuis un script ou demander une absence depuis un autre outil.
L'URL de base est https://votredomaine/api/v1, toutes les requêtes et
réponses sont en JSON et les routes protégées exigent l'en-tête
Authorization: Bearer {token}.
1. Obtenez un jeton
L'authentification utilise des jetons personnels (Laravel Sanctum), sans cookies ni session. Le jeton s'obtient avec l'e-mail et le mot de passe du salarié, les mêmes qu'il utilise pour accéder au panneau web :
curl -X POST https://votredomaine/api/v1/login \
-H "Content-Type: application/json" \
-d '{ "email": "empleado@empresademo.com", "password": "********" }'
La réponse inclut le jeton et les données de base de l'utilisateur :
{
"token": "1|abcdef...",
"user": { "id": 1, "name": "...", "email": "...", "role": "empleado", "company_id": 2 }
}
Conservez le jeton en lieu sûr et ne le partagez pas : il donne accès aux données de cette personne. Si les identifiants ne sont pas valides, vous recevrez un
422, et l'endpoint est limité à 10 tentatives par minute.
Pour se déconnecter, POST /api/v1/logout (authentifié) révoque le jeton
actuel.
2. Endpoints disponibles
| Méthode | Route | Fonction |
|---|---|---|
| POST | /login |
Renvoie un jeton à partir de l'e-mail et du mot de passe |
| POST | /logout |
Révoque le jeton actuel |
| POST | /fichar |
Enregistre un pointage (entrée ou sortie) |
| GET | /fichajes/hoy |
Pointages du jour |
| GET | /fichajes/semana |
Pointages de la semaine en cours |
| GET | /resumen/mensual?month=YYYY-MM |
Résumé mensuel des heures travaillées |
| GET | /ausencias |
Les 50 dernières absences de l'utilisateur |
| POST | /ausencias |
Demande une absence |
| GET | /ausencias/tipos |
Types d'absence actifs de l'entreprise |
| GET | /ausencias/saldo?year=YYYY |
Solde annuel de congés |
Tous les endpoints opèrent sur l'utilisateur authentifié : chaque personne ne voit que ses pointages, ses absences et son solde.
3. Pointer via l'API
POST /fichar alterne automatiquement entre entrée et sortie selon le
dernier pointage, comme le bouton du panneau
(comment fonctionne le pointage). La géolocalisation est
facultative :
curl -X POST https://votredomaine/api/v1/fichar \
-H "Authorization: Bearer 1|abcdef..." \
-H "Content-Type: application/json" \
-d '{ "latitude": 40.4168, "longitude": -3.7038, "accuracy": 12 }'
Réponse 201 : { "type": "in", "happened_at": "2026-07-07T09:00:00+00:00" }.
Les pointages sont stockés en UTC et les consultations « aujourd'hui » et « semaine » utilisent le fuseau horaire de votre entreprise. Le résumé mensuel est calculé à partir des journées consolidées chaque nuit, les mêmes qui alimentent les rapports.
Si la personne se trouve en dehors des 10 places actives du plan gratuit,
POST /ficharrépond403(plans et facturation).
4. Les absences via l'API
Vous pouvez consulter les types disponibles, le solde et demander une absence :
curl -X POST https://votredomaine/api/v1/ausencias \
-H "Authorization: Bearer 1|abcdef..." \
-H "Content-Type: application/json" \
-d '{ "absence_type_id": 1, "starts_on": "2026-08-03", "ends_on": "2026-08-07", "reason": "Vacaciones" }'
L'API applique les mêmes validations que le panneau : chevauchements avec
vos autres absences, solde disponible pour les types qui décomptent, et
présence de jours ouvrés dans la plage (les week-ends et jours fériés sont
déduits). Si le type requiert une approbation, la demande entre dans le
flux d'approbations avec le statut pending ; sinon,
elle est approuvée directement. Plus de détails dans
absences et congés.
Les types d'absence qui exigent un justificatif ne peuvent pas être demandés via l'API : la requête renvoie une erreur et il faut passer par le panneau web, où le document peut être joint.
Et maintenant ?
- Si votre compte n'est pas encore configuré, commencez par les premiers pas.
- Pour pointer sur une tablette partagée, l'API n'est pas nécessaire : utilisez la borne QR.
Vous ne trouvez pas ce que vous cherchez ?
Écrivez-nous par le chat de support et nous vous aidons directement.