E-LOGIK Planning RH — API de lecture seule v1.0.0

Consultation de votre planning jour par jour. Lecture seule, périmètre limité à l'employé lié à votre compte.

Authentification

Jeton personnel créé depuis « Mon profil → Accès API » de l'application. Préfixé « elpk_ ».

Envoyez-le sur chaque requête :

Authorization: Bearer elpk_votre_jeton

Le jeton n'est affiché qu'une seule fois, à sa création : conservez-le comme un mot de passe, et révoquez-le depuis l'application si vous le pensez compromis.

GET /api/v1/planning/jours

Planning jour par jour sur une plage de dates.

Renvoie tous les jours de la plage, bornes incluses — week-ends, jours fériés et jours sans saisie compris — afin de livrer un calendrier continu. Chaque jour ouvré est décodé en une moitié matin et une moitié après-midi. La plage ne peut pas dépasser 366 jours.

Paramètres

NomRequisDescription
debutouiPremière date, incluse. Format AAAA-MM-JJ.
finouiDernière date, incluse. Format AAAA-MM-JJ.
statutsnonCodes séparés par des virgules, ex. « TT,CP ». Ne garde que les jours dont au moins une moitié porte un de ces codes. S'applique aux codes résolus, déduits compris. Un jour non ouvré n'est retenu que s'il porte une saisie.

Exemple d'appel

curl -s 'https://planning.e-logik.fr/api/v1/planning/jours?debut=2026-09-01&fin=2026-09-30' \
  -H 'Authorization: Bearer elpk_votre_jeton'

Exemple de réponse

{
  "employe": {
    "code": "EXE",
    "nom": "Camille Exemple",
    "service": "Exploitation"
  },
  "debut": "2026-09-03",
  "fin": "2026-09-06",
  "jours": [
    {
      "date": "2026-09-03",
      "jour_semaine": 4,
      "ouvre": true,
      "ferie": false,
      "matin": {
        "code": "CP",
        "libelle": "Congé payé",
        "saisi": true
      },
      "apres_midi": {
        "code": "TT",
        "libelle": "Télétravail",
        "saisi": true
      },
      "note": "",
      "modifie_le": "2026-08-28T09:12:04Z"
    },
    {
      "date": "2026-09-04",
      "jour_semaine": 5,
      "ouvre": true,
      "ferie": false,
      "matin": {
        "code": "P",
        "libelle": "Présent",
        "saisi": false
      },
      "apres_midi": {
        "code": "P",
        "libelle": "Présent",
        "saisi": false
      },
      "note": "",
      "modifie_le": null
    },
    {
      "date": "2026-09-05",
      "jour_semaine": 6,
      "ouvre": false,
      "ferie": false,
      "matin": null,
      "apres_midi": null,
      "note": "",
      "modifie_le": null
    },
    {
      "date": "2026-09-06",
      "jour_semaine": 7,
      "ouvre": false,
      "ferie": false,
      "matin": {
        "code": "D",
        "libelle": "Déplacement",
        "saisi": true
      },
      "apres_midi": {
        "code": "D",
        "libelle": "Déplacement",
        "saisi": true
      },
      "note": "salon professionnel",
      "modifie_le": "2026-09-01T16:40:00Z"
    }
  ]
}

Codes de statut du planning

CodeSignification
PPrésent
TTTélétravail
CPCongé payé
CSSCongé sans solde
ATArrêt travail
DDéplacement
EÉcole / Formation
NTNe travaille pas
CCConvention collective
MATMaternité / Paternité
DEADemande en attente

Codes d'erreur

Toutes les erreurs ont la même forme : {"error":{"code":…,"message":…}}.

HTTPCodeSituation
400parametre_manquant« debut » ou « fin » absent
400date_invalideFormat autre que AAAA-MM-JJ, ou date inexistante
400plage_invalide« fin » antérieure à « debut »
400plage_trop_longuePlus de 366 jours demandés
401token_absentEn-tête « Authorization: Bearer » absent ou mal formé
401token_invalideJeton inconnu
401token_expireJeton authentique mais expiré
401token_revoqueJeton authentique mais révoqué
403compte_inactifCompte désactivé
403aucun_employe_lieCompte non lié à un employé : aucune donnée à lire
429trop_de_requetesPlus de 60 requêtes par minute pour ce jeton
500erreur_internePanne inattendue côté serveur
variableerreur_httpAutre erreur HTTP sous /api/v1, relayée avec son code d'origine : URL inconnue → 404, verbe non autorisé sur une route existante (l'API est en lecture seule) → 405

Contrat machine

La spec OpenAPI 3.1 est servie sur /api/v1/openapi.json : importable dans Postman, Insomnia ou Bruno, ou utilisable pour générer un client.