Ticketanizer-Anbindung: Fehler-/Erfolgs-Logging ergänzt

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`.
This commit is contained in:
2026-08-01 13:02:25 +02:00
parent 7b7fcd829b
commit 479517ad47
+17 -3
View File
@@ -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);
}
}