# n8n-Integration ## Empfohlene Node-Reihenfolge ```text Schedule Trigger -> PostgreSQL: aktive Kunden laden -> Loop Over Items -> PostgreSQL: Monatsmetriken und Verlauf laden -> Code: Monatsdaten vorbereiten -> Code: Claude Request bauen -> HTTP Request: Anthropic Messages API -> Code: Claude JSON extrahieren -> Code: Render Payload bauen -> HTTP Request: Report Renderer /render -> Speicher / E-Mail / Kundenportal -> PostgreSQL: Reportlauf protokollieren ``` ## Anthropic HTTP Request - Methode: `POST` - URL: `https://api.anthropic.com/v1/messages` - Header: - `x-api-key`: aus Credential oder Secret - `anthropic-version`: `2023-06-01` - `content-type`: `application/json` - Body: `={{ $json.claudeRequest }}` - Response: JSON ## Renderer HTTP Request - Methode: `POST` - URL im gleichen Docker-Netz: `http://report-renderer:8080/render` - Body Content Type: JSON - Body: gesamtes aktuelles Item - Response Format: File - Binary Property: `data` Danach kann `data` als E-Mail-Anhang, S3-Upload oder Datei verwendet werden. ## Datenschutz und Fehlerbehandlung - Jeden Kunden im Loop als separates Item verarbeiten. - Kunden-ID und Berichtsmonat vor jedem Node erhalten. - Bei Claude- oder Renderfehlern keinen leeren Report versenden. - Reportlauf erst nach erfolgreicher Ablage als `completed` markieren. - Eindeutigen DB-Schluessel auf Kunde, Jahr und Monat setzen.