Documentation API v1

API Mindtheos

Intégrez les données de vos systèmes directement dans vos applications grâce à notre API REST sécurisée.

Authentification par ApiKey HTTPS uniquement JSON / REST

API Presences

Récupérer les données de pointage des employés par site et par période.

Stable · v1

Authentification

Chaque requête doit inclure apiKey et siteid dans le body JSON.

{
                                                    "apiKey": "1771587416nGTp1RM74GjFbqRe8SUv.3XXXX8",
                                                    "siteid": "397XXX"
                                                }

Endpoints

POST /presences Récupérer les pointages

Récupère les enregistrements de pointage filtrés par période, device et employé.

Paramètres du body

Paramètre Type Requis Description
apiKey string Clé API fournie lors de la création du site
siteid string Identifiant du site (6 chiffres)
begindate date Date de début (YYYY-MM-DD)
enddate date Date de fin (YYYY-MM-DD)
devicesn string Serial No du device. 0 = tous les devices
direction string IN ou OUT. Vide = tous
employe_id integer Filtrer par employé
person_name string Recherche par nom (partiel)
page integer Page courante (défaut: 1)
per_page integer Résultats par page (max: 500, défaut: 100)

Exemple de requête

POST https://api.mindtheos.com/api/v1/presences
Content-Type: application/json

{
    "apiKey":    "1771587416nGTp1RM74GjFbqRe8SUv.3XXXX8",
    "siteid":    "397XXX",
    "begindate": "2026-02-01",
    "enddate":   "2026-02-20",
    "devicesn":  0,
    "page":      1,
    "per_page":  100
}

Exemple de réponse

{
    "success": true,
    "code": 200,
    "message": "Données récupérées avec succès.",
    "data": [
        {
            "id": 53,
            "employe_id": 3,
            "auth_datetime": "2026-02-15 22:39:40",
            "auth_date": "2026-02-15",
            "auth_time": "22:39:40",
            "direction": "IN",
            "device_sn": "DS-K1T342MFWX20250109V043800ENFW5776897",
            "device_name": "Elton-Bagnon",
            "person_name": "N'GUESSAN N'GUESSAN RACHEL",
            "card_no": null
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 100,
        "total_records": 2687,
        "total_pages": 27,
        "has_next_page": true,
        "has_prev_page": false
    },
    "query_info": {
        "begin_date": "2026-02-01",
        "end_date": "2026-02-20",
        "device_sn": "ALL",
        "devices_count": 9,
        "response_ms": 23
    }
}
POST /presences/summary Résumé statistique

Retourne des statistiques agrégées sur la période demandée.

Exemple de réponse

{
    "success": true,
    "code": 200,
    "data": {
        "period": { "begin": "2026-02-01", "end": "2026-02-20" },
        "total_pointages": 2687,
        "total_employes": 22,
        "total_jours": 15,
        "total_devices": 9,
        "total_entrees": 2687,
        "total_sorties": 0,
        "premier_pointage": "2026-02-07 13:21:51",
        "dernier_pointage": "2026-02-20 11:40:46"
    }
}
POST /devices Liste des devices

Retourne la liste des devices (pointeuses) associés à votre site.

Exemple de réponse

{
    "success": true,
    "code": 200,
    "data": [
        {
            "id": 1,
            "device_sn": "DS-K1T342MFWX20240701V031601ENFV8246697",
            "device_name": "Elton-toumodi",
            "location": "Toumodi",
            "last_sync_at": null
        }
    ],
    "meta": { "total": 9, "site_id": "397XXX", "zone": "Elton" }
}

Codes d'erreur

Code Signification
200 Succès
400 Paramètres invalides (dates, plage trop large, etc.)
401 ApiKey ou SiteId invalide / expiré
403 Device non autorisé pour ce site
422 Erreur de validation des champs
500 Erreur serveur interne

Limites anti-surcharge

  • Maximum 500 résultats par requête
  • Plage de dates maximum : 31 jours
  • Maximum 60 requêtes par minute par site
  • Utilisez la pagination pour les grandes périodes