🔗 n8n Integrace

Návod pro integraci EmbedDataFeed s n8n workflow automation

📋 Přehled

EmbedDataFeed poskytuje specializovaný endpoint pro n8n, který umožňuje sémantické vyhledávání v produktech z Heureka XML feedu. Ideální pro chatboty a automatizované odpovědi.

✅ Co získáte:

🚀 Rychlé nastavení

Vytvořte HTTP Request node v n8n

Přidejte nový HTTP Request node do vašeho workflow

Nakonfigurujte endpoint

URL: http://localhost:8085/api/search
Method: POST
Content-Type: application/json

Nastavte JSON body

{ "message": "{{ $json.query }}", "limit": 5 }

Zpracujte odpověď

Výsledky budou dostupné v $json.products array

📡 API Endpoint

POST /api/search

URL: http://localhost:8085/api/search

Request Body:

{ "message": "hledám mobilní telefon do 10000 Kč", "limit": 3 }

Response:

{ "status": "success", "message": "hledám mobilní telefon do 10000 Kč", "products": [ { "productname": "iPhone 14", "description": "Nový iPhone s pokročilými funkcemi", "price_vat": "24990 Kč", "categorytext": "Mobily a telefony", "manufacturer": "Apple", "url": "https://eshop.cz/iphone-14", "score": 0.89 } ], "count": 1 }

💡 Příklady n8n workflow

1. Chatbot s automatickými odpověďmi

1. Webhook Trigger (příjem zprávy od uživatele) 2. HTTP Request → EmbedDataFeed API 3. Function Node (formátování odpovědi) 4. Response Node (odeslání odpovědi)

2. E-mail autoresponder

1. Email Trigger (příjem e-mailu s dotazem) 2. Text Extraction (extrakce dotazu z e-mailu) 3. HTTP Request → EmbedDataFeed API 4. Email Node (odeslání odpovědi s produkty)

3. Slack bot integration

1. Slack Trigger (mention bota) 2. HTTP Request → EmbedDataFeed API 3. Function Node (formátování pro Slack) 4. Slack Response (odpověď do channelu)

🔧 Function Node pro formátování

Příklad JavaScript kódu pro Function Node k formátování odpovědi:

// Zpracování odpovědi z EmbedDataFeed const response = $input.first().json; if (response.status === 'success' && response.products.length > 0) { let message = `Našel jsem ${response.count} produktů pro "${response.message}":\n\n`; response.products.forEach((product, index) => { message += `${index + 1}. **${product.productname}**\n`; message += ` 💰 ${product.price_vat}\n`; message += ` 🏭 ${product.manufacturer}\n`; message += ` 📊 Relevance: ${Math.round(product.score * 100)}%\n`; message += ` 🔗 ${product.url}\n\n`; }); return [{ json: { message } }]; } else { return [{ json: { message: "Bohužel jsem nenašel žádné produkty pro váš dotaz." } }]; }

🎯 Testování

⚠️ Důležité: Před nasazením vždy otestujte váš workflow s různými typy dotazů.

Testovací dotazy:

cURL test:

curl -X POST "http://localhost:8085/api/search" \ -H "Content-Type: application/json" \ -d '{"message": "notebook", "limit": 3}'

📚 Další zdroje

💬 Podpora

V případě problémů nebo dotazů: