| 12345678 |
- {
- "name": "get_order_data",
- "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\nPobierz dane zamówienia z WooCommerce. Zawsze podaj email klienta (używany do weryfikacji tożsamości). Opcjonalnie podaj numer zamówienia. Email pobierz z danych konwersacji — NIE pytaj użytkownika o email jeśli piszą z maila. Zawsze przekazuj parametr language z wykrytym językiem klienta, aby wartości były w odpowiedniej walucie.",
- "color": "linear-gradient(rgb(100,150,200), rgb(50,100,170))",
- "iconSrc": "",
- "schema": "[{\"id\":0,\"property\":\"orderNumber\",\"description\":\"Numer zamówienia WooCommerce (opcjonalny)\",\"type\":\"string\",\"required\":false},{\"id\":1,\"property\":\"email\",\"description\":\"Adres e-mail klienta — wymagany do weryfikacji. Jeśli nieznany, zostanie pobrany automatycznie z danych konwersacji.\",\"type\":\"string\",\"required\":false},{\"id\":2,\"property\":\"language\",\"description\":\"Kod języka WPML wykryty z wiadomości klienta (np. pl, de, en, fr, cs, tr). Wymagany do podania wartości zamówienia w odpowiedniej walucie.\",\"type\":\"string\",\"required\":false},{\"id\":3,\"property\":\"currency\",\"description\":\"Nadpisanie waluty — podaj kod ISO 4217 (np. EUR, CZK, PLN) gdy użytkownik wyraźnie prosi o wartości zamówienia w konkretnej walucie. Opcjonalne.\",\"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 orderNumber = typeof $orderNumber !== 'undefined' && $orderNumber ? String($orderNumber) : ''\n// Email: explicit parameter OR auto-filled from conversation sender\nconst email = (typeof $email !== 'undefined' && $email)\n ? String($email)\n : String(($vars && $vars.sender_email) || '')\nconst language = typeof $language !== 'undefined' && $language ? String($language) : ''\nconst currency = typeof $currency !== 'undefined' && $currency ? String($currency).toUpperCase().trim() : ''\n\nif (!email) return 'Error: unable to determine customer email address required for identity verification.'\nif (!secret) return 'Error: missing $vars.relay_shared_secret'\n\ntry {\n const body = { email }\n if (orderNumber) body.orderNumber = orderNumber\n if (language) body.language = language\n if (currency) body.currency = currency\n\n const res = await fetch(`${base}/tools/get_order_data`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${secret}`\n },\n body: JSON.stringify(body)\n })\n const data = await res.json()\n if (data.ok) {\n const currencyNote = data.currency_fallback && data.currency_note ? '\\n[NOTE: ' + data.currency_note + ']' : ''\n return JSON.stringify(data.data, null, 2) + currencyNote\n }\n if (data.code === 'UNAUTHORIZED') {\n return 'Unauthorized: the provided email address does not match the order.'\n }\n return `Error: ${data.message || JSON.stringify(data)}`\n} catch (error) {\n return `Connection error: ${error?.message || String(error)}`\n}\n"
- }
|