From 479517ad47577bc348d7bfdb64ef2202f796770d Mon Sep 17 00:00:00 2001 From: Dogfather Date: Sat, 1 Aug 2026 13:02:25 +0200 Subject: [PATCH] =?UTF-8?q?Ticketanizer-Anbindung:=20Fehler-/Erfolgs-Loggi?= =?UTF-8?q?ng=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bisher wurden Fehler beim Ticket-Anlegen komplett stillschweigend verschluckt (bewusst, damit es die Bewerbung nie blockiert) - das machte es aber unmöglich zu sehen, WARUM ein Ticket nicht ankam. Jetzt wird jeder Versuch (Erfolg wie Fehler, inkl. HTTP-Status und Antworttext) über console.log/console.error protokolliert, sichtbar per `wrangler tail`. --- cloudflare-worker/src/lib/ticketanizer.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/cloudflare-worker/src/lib/ticketanizer.js b/cloudflare-worker/src/lib/ticketanizer.js index 41a5b3b..bc2fe54 100644 --- a/cloudflare-worker/src/lib/ticketanizer.js +++ b/cloudflare-worker/src/lib/ticketanizer.js @@ -70,13 +70,20 @@ function ersteNachrichtAufbauen(type, data) { export async function bewerbungAlsTicketAnlegen(env, type, data) { const apiKey = env.TICKETANIZER_API_KEY; const panelId = PANEL_IDS[type]; - if (!apiKey || !panelId) return; // nicht eingerichtet für diesen Bereich — einfach überspringen + if (!apiKey) { + console.error(`[ticketanizer] TICKETANIZER_API_KEY fehlt — Ticket für "${type}" übersprungen.`); + return; + } + if (!panelId) { + console.error(`[ticketanizer] Kein panel_id für Bewerbungstyp "${type}" hinterlegt — übersprungen.`); + return; + } const visitorName = String(data?.name || data?.firma || "Unbekannt").trim().slice(0, 80) || "Unbekannt"; const firstMessage = ersteNachrichtAufbauen(type, data); try { - await fetch(`${TICKETANIZER_BASIS_URL}/v1/tickets`, { + const antwort = await fetch(`${TICKETANIZER_BASIS_URL}/v1/tickets`, { method: "POST", headers: { "X-API-Key": apiKey, @@ -88,8 +95,15 @@ export async function bewerbungAlsTicketAnlegen(env, type, data) { first_message: firstMessage, }), }); - } catch { + const antwortText = await antwort.text().catch(() => ""); + if (!antwort.ok) { + console.error(`[ticketanizer] Fehler beim Ticket-Anlegen (${type}, panel ${panelId}): HTTP ${antwort.status} — ${antwortText}`); + } else { + console.log(`[ticketanizer] Ticket angelegt (${type}, panel ${panelId}): ${antwortText}`); + } + } catch (fehler) { // Ticketanizer nicht erreichbar o.ä. — die Bewerbung selbst ist trotzdem // sicher in der eigenen Datenbank gelandet, das darf hier nicht scheitern. + console.error(`[ticketanizer] Ausnahme beim Ticket-Anlegen (${type}, panel ${panelId}):`, fehler && fehler.message); } }