| 12345678 |
- {
- "name": "new_ticket",
- "description": "IMPORTANT: Always reply to the customer in their own language — the exact language they write in. Never switch to Polish unless the customer writes in Polish.\n\nUtwórz ticket supportowy i przekieruj rozmowę do obsługi sklepu. Używaj gdy:\n- klient wyraźnie prosi o kontakt z człowiekiem\n- nie jesteś w stanie rozwiązać problemu samodzielnie\n- baza wiedzy wskazuje że sprawa wymaga kontaktu z supportem\n- minęło dużo czasu od realizacji zamówienia, a paczka nie dotarła\n\nWAŻNE: gdy get_order_data zwróci 'Unauthorized' — NIE zakładaj od razu ticketu. Najpierw poproś klienta o weryfikację numeru zamówienia. Ticket zakładaj dopiero gdy klient potwierdzi dane i nadal nie możesz pomóc, lub wyraźnie poprosi o kontakt z obsługą.\n\nZa każdym razem gdy tworzysz ticket, poinformuj klienta i poproś o cierpliwość — osoba z obsługi skontaktuje się w najbliższym czasie. Przekaż klientowi numer otrzymanego zgłoszenia.",
- "color": "linear-gradient(rgb(189,154,166), rgb(167,81,91))",
- "iconSrc": "",
- "schema": "[{\"id\":0,\"property\":\"conversationId\",\"description\":\"ID konwersacji Chatwoot (z overrideConfig.conversationId)\",\"type\":\"number\",\"required\":true},{\"id\":1,\"property\":\"summary\",\"description\":\"Krótkie podsumowanie problemu klienta\",\"type\":\"string\",\"required\":false}]",
- "func": "const fetch = require('node-fetch')\n\nconst base = String(($vars && ($vars.relay_base || $vars.webhook_base)) || 'http://localhost:8080').replace(/\\/$/,'')\nconst secret = String(($vars && $vars.relay_shared_secret) || '')\n\nconst conversationId = typeof $conversationId !== 'undefined' ? Number($conversationId) : Number(($flow && $flow.sessionId || '').replace('chatwoot:',''))\nconst summary = typeof $summary !== 'undefined' ? String($summary) : ''\n\nif (!conversationId || conversationId <= 0) return 'Error: missing conversationId'\nif (!secret) return 'Error: missing $vars.relay_shared_secret'\n\ntry {\n const res = await fetch(`${base}/tools/new_ticket`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${secret}`\n },\n body: JSON.stringify({ conversationId, summary })\n })\n const data = await res.json()\n if (data.ok) {\n return `Ticket created: ${data.ticketNumber} (status: ${data.status})`\n }\n return `Error creating ticket: ${data.message || JSON.stringify(data)}`\n} catch (error) {\n return `Connection error: ${error?.message || String(error)}`\n}\n"
- }
|