Dyflexis Rooster Fetch - Documentatie

Dit project stelt je in staat om je rooster op te halen van Dyflexis (app.planning.nu) via een eenvoudige API met automatische login.

GitHub Repository

Nieuwe Features:

Installatie & Configuratie

  1. Installeer de afhankelijkheden:
  2. Configureer de omgevingsvariabelen: Vul .env_example in en hernoem het bestand naar .env:
  3. Start de server:
Let op:

Wat doet dit?

Gebruik

De API voert automatisch de volgende stappen uit bij elk verzoek:

  1. Login: Logt in met je email en wachtwoord
  2. CSRF token: Haalt automatisch het authentication-csrf-token op
  3. Sessie: Krijgt de PHPSESSID cookie na succesvolle login
  4. Rooster ophalen: Gebruikt de sessie om je rooster op te halen
  5. Parseren: Verwerkt de data naar het gewenste formaat

Let op: De API logt nu automatisch in bij elke request - geen handmatige PHPSESSID meer nodig

Endpoints

GET /api/rooster

Haalt je huidige rooster op met alle werkdagen en assignments.

GET /api/shifts

Haalt alleen de shifts/werkdagen op die zijn ingevuld in je rooster.

Query Parameters

De API ondersteunt query parameters voor filtering en verschillende responsformaten.

Beschikbare Parameters:

Parameter Opties Beschrijving
format object, array, string Het formaat van de response.
only today, assigned, shifts Filtert de resultaten op specifieke types.
days Getal Aantal komende dagen vanaf vandaag.
from YYYY-MM-DD Startdatum voor filtering.
to YYYY-MM-DD Einddatum voor filtering.

String Format

Het string formaat geeft al je shifts op één regel met scheidingstekens:

Voorbeeld: 2024-01-15 09:00-17:00 | 2024-01-16 10:00-18:00

Regels:

Apple Shortcuts

Je kunt een Apple Shortcut maken om je rooster automatisch op te halen:

  1. Stap 1: Gebruik een "HTTP Request" action met je API URL
  2. Stap 2: Parse de JSON response met "Get Dictionary Value"
  3. Stap 3: Geef het resultaat weer in een Richtext-notification

Voorbeelden

Hier zijn enkele praktische voorbeelden van API calls:

1. Basic Request

GET /api/rooster - Haalt het volledige rooster op

2. Format Parameter

GET /api/rooster?format=array - Geeft het rooster als array terug

3. Filter

GET /api/rooster?only=shifts - Alleen shifts, geen assignments

4. Komende 7 dagen

GET /api/rooster?days=7 - Shifts van vandaag tot 7 dagen

5. Specifieke periode

GET /api/rooster?from=2024-01-15&to=2024-01-31 - Shifts in januari

Foutafhandeling

De API geeft duidelijke foutmeldingen:

401 Unauthorized

Email of wachtwoord onjuist. Controleer je .env configuratie.

400 Bad Request

Ongeldige query parameters. Controleer je request URL.

500 Server Error

Iets gaat fout met de API. Controleer de server logs.

Technische Details

Tijdzone

De API gebruikt Amsterdam timezone (Europe/Amsterdam) voor alle timestamps.

Sessie Management

Bij elke request wordt automatisch ingelogd. Sessies hebben een beperkte levensduur.

CSRF Token

Het authentication-csrf-token wordt automatisch opgehaald en gebruikt.

Caching

Geen caching - elke request haalt vers data op van Dyflexis.