PDF-Dokumente API
Generieren Sie PDF-Dokumente wie Entschuldigungen, Beurlaubungsanträge oder Sportbefreiungen für Schulen. Diese Dokumente werden dynamisch mit LaTeX erstellt und als PDF zurückgegeben.
Hinweis: Die PDF-Generierung ist nur für Schulen verfügbar.
Endpunkt
POST /api/v2.1/schools/:slug/documents
Verfügbare Dokumenttypen
-
entschuldigung- Entschuldigung für Fehltage (z.B. bei Krankheit) -
beurlaubung- Antrag auf Beurlaubung vom Unterricht -
sportbefreiung- Befreiung vom Sportunterricht
Beispiele
📄 Beispiel: Entschuldigung erstellen
curl -X POST https://www.mehr-schulferien.de/api/v2.1/schools/gymnasium-muenchen-nord/documents \
-H "Content-Type: application/json" \
-d '{
"type": "entschuldigung",
"first_name": "Max",
"last_name": "Mustermann",
"zip_code": "80333",
"city": "München",
"name_of_student": "Anna Mustermann",
"class_name": "5a",
"reason": "krankheit",
"start_date": "2025-01-15",
"end_date": "2025-01-17",
"teacher_name": "Schmidt",
"teacher_salutation": "Frau"
}' \
--output entschuldigung.pdf
📝 Beispiel: Beurlaubungsantrag erstellen
curl -X POST https://www.mehr-schulferien.de/api/v2.1/schools/gymnasium-muenchen-nord/documents \
-H "Content-Type: application/json" \
-d '{
"type": "beurlaubung",
"first_name": "Max",
"last_name": "Mustermann",
"zip_code": "80333",
"city": "München",
"name_of_student": "Anna Mustermann",
"class_name": "5a",
"start_date": "2025-02-10",
"end_date": "2025-02-14",
"detailed_reason": "Familiäre Angelegenheiten"
}' \
--output beurlaubung.pdf
🏃 Beispiel: Sportbefreiung erstellen
curl -X POST https://www.mehr-schulferien.de/api/v2.1/schools/gymnasium-muenchen-nord/documents \
-H "Content-Type: application/json" \
-d '{
"type": "sportbefreiung",
"first_name": "Max",
"last_name": "Mustermann",
"zip_code": "80333",
"city": "München",
"name_of_student": "Anna Mustermann",
"class_name": "5a",
"duration_type": "single_lesson",
"single_date": "2025-03-20",
"detailed_reason": "Verletzung am Fuß",
"medical_certificate": true
}' \
--output sportbefreiung.pdf
Parameter
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
| type | Ja | "entschuldigung", "beurlaubung" oder "sportbefreiung" |
| first_name | Ja | Vorname des Absenders |
| last_name | Ja | Nachname des Absenders |
| zip_code | Ja | Postleitzahl |
| city | Ja | Stadt |
| name_of_student | Ja | Name des Schülers/der Schülerin |
| class_name | Ja | Klassenname (z.B. "5a") |
| start_date | Abhängig vom Typ | Startdatum (ISO 8601, z.B. "2025-01-15") |
| end_date | Abhängig vom Typ | Enddatum (ISO 8601) |
| reason | Nur bei Entschuldigung | "krankheit", "arzttermin", "familiaere_angelegenheiten", "beerdigung" oder "religioser_feiertag" |
| duration_type | Nur bei Sportbefreiung | "single_lesson" oder "multiple_days" |
| single_date | Bei single_lesson | Datum für einzelne Sportstunde (ISO 8601) |
| teacher_name | Nein | Name des Klassenlehrers/der Klassenlehrerin |
| teacher_salutation | Nein | "Herr" oder "Frau" |
| detailed_reason | Nein | Ausführliche Begründung |
| medical_certificate | Nein | Boolean - ob ärztliches Attest beigefügt wird (nur bei Sportbefreiung) |
Response
Erfolg:
Bei erfolgreicher Generierung wird das PDF direkt als Binary mit Content-Type
application/pdf
zurückgegeben.
Sie können die Datei direkt speichern und öffnen.
Fehler: Bei Fehlern wird ein JSON-Objekt mit dem Feld "error" und einer Fehlerbeschreibung zurückgegeben.
Beispiel Fehler-Response:
{
"error": "School not found"
}
HTTP-Status-Codes
-
200 OK- PDF erfolgreich generiert -
400 Bad Request- Ungültige oder fehlende Parameter -
404 Not Found- Schule nicht gefunden
Siehe auch
- Standorte API - Schulinformationen abrufen
- Export-Formate - Andere Export-Optionen (iCalendar, vCard)
- API-Referenz - Allgemeine Response-Formate und Fehlerbehandlung