Bei "530 Login incorrect" trotz FileZilla-OK zeigt pw_len im Backend-Log,
ob das Passwort im .env die falsche Laenge hat (Quotes/CRLF/Leerzeichen).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
/api/batch/build akzeptiert jetzt ids:[...] und buendelt genau diese
Uebermittlungen (je Zugang, xlsx + Sammel-PDF + FTP). Der Board-Knopf
"Per FTP hochladen" wirkt damit auf die Auswahl.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Neuer Endpunkt POST /api/batch/build (Token) und Cron (03:00 Europe/Berlin):
buendelt offene batch_submissions JE ZUGANG (api_client) zu einer xlsx
(Schema Firma/Vorname/Nachname/Zeile1-3/PLZ/Stadt/Land) + einer Sammel-
Druck-PDF (alle mitgelieferten Druck-PDFs 1:1) und laedt beide per FTP(S)
in die Wurzel. Dateiname <api_client_id>_<YYYY-MM-DD>(.xlsx/.pdf); manuelle
Laeufe mit Uhrzeit-Suffix (kein Ueberschreiben des Tageslaufs). Text-only-
Datensaetze (ohne PDF) bleiben offen (manuelle Schreibvorlage), nicht im
Buendel. Sa+So gemeinsam am Montag (Sonntag-Lauf uebersprungen).
Neue Pakete: exceljs, basic-ftp. FTP-Config via ENV (SKRIFT_FTP_HOST/PORT/
USER/PASSWORD/SECURE), Passwort nur in ENV.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>