Dokumentáció

API referencia, beágyazási útmutató és fejlesztői segédletek a ChatAutomata platformhoz.

Tartalomjegyzék Gyorsindítás Beágyazás API Referencia MCP-szerver Autentikáció Webhook-ok Widget testreszabás Süti-hozzájárulás Rate limit-ek Hibakódok Gyakori kérdések

Gyorsindítás

3 lépésben élesítheted az első chatbotodat:

1

Regisztrálj

Hozz létre egy fiókot az app.chatautomata.hu oldalon. Az ingyenes csomag is elég a kezdéshez.

2

Hozz létre chatbotot

A dashboardon kattints az „Új chatbot" gombra. Adj nevet, válassz AI modellt, és töltsd fel a tudásbázisodat (FAQ-k, PDF-ek, vagy webcímek).

3

Ágyazd be a weboldaladra

Másold be az alábbi kódot a weboldalad </body> tagje elé — és kész!

Beágyazás

Egyetlen script-tag hozzáadásával megjelenik a chatbot-widget az oldaladon:

<script src="https://embed.chatautomata.hu/w.js?id=CHATBOT_ID" async></script>

A CHATBOT_ID-t a dashboard chatbot-szerkesztő oldalán találod.

Speciális beállítások

Kizárt oldalak: A chatbot szerkesztőben megadhatsz URL-mintákat, ahol a widget NEM jelenik meg.

Automatikus megnyitás: Beállítható külön desktopra és mobilra, hogy a widget automatikusan nyíljon-e meg betöltés után.

Proaktív megszólítás: Az AI néhány másodperc után automatikusan üdvözli a látogatót, ha még nem írt üzenetet.

API Referencia

Alap URL: https://api.chatautomata.hu — minden végpont JSON-t fogad és ad vissza, kivéve az SSE stream-eket.

Chat

MódszerVégpontLeírásAuth
GET/v1/chat/sseSSE stream — EventSource-kompatibilisOpcionális
POST/v1/chatÜzenet küldése (SSE stream válasz)Opcionális
GET/v1/chat/messagesSession üzenetek lekéréseNem

Chatbot kezelés

MódszerVégpontLeírásAuth
GET/v1/chatbotsChatbotok listázásaBearer JWT
POST/v1/chatbotsÚj chatbot létrehozásaBearer JWT
PATCH/v1/chatbots/:idChatbot szerkesztése (60+ mező)Bearer JWT
DELETE/v1/chatbots/:idChatbot törléseBearer JWT

FAQ / Tudásbázis

MódszerVégpontLeírásAuth
GET/v1/faqs?chatbotId=xxxFAQ-k lekéréseBearer JWT
POST/v1/faqsFAQ létrehozása (auto-embedding)Bearer JWT
PATCH/v1/faqs/:idFAQ szerkesztéseBearer JWT
DELETE/v1/faqs/:idFAQ törléseBearer JWT
POST/v1/faqs/importTömeges import (JSON/CSV, max 500)Bearer JWT

Beszélgetések és Lead-ek

MódszerVégpontLeírásAuth
GET/v1/conversationsBeszélgetések listázásaBearer JWT
GET/v1/conversations/:idBeszélgetés részletei + üzenetekBearer JWT
GET/v1/leadsLead-ek listázásaBearer JWT
PATCH/v1/leads/:idLead státusz frissítéseBearer JWT

Webhook-ok

MódszerVégpontLeírásAuth
GET/v1/webhooksRegisztrált webhook-okBearer JWT
POST/v1/webhooksWebhook regisztrálásaBearer JWT
POST/v1/webhooks/:id/testTesztpayload küldéseBearer JWT

Rendszer

MódszerVégpontLeírásAuth
GET/healthKonténer healthcheckNem
GET/v1/statusRészletes rendszer-státusz (JSON)Nem

Publikus REST API — /api/v1 (API-kulccsal)

A szerver-szerver integrációhoz külön, stabil felület. Auth: Authorization: Bearer ca_live_… vagy X-API-Key (lásd Autentikáció). A :write végpontok api:write scope-ot igényelnek, a többi api:read-et.

MódszerVégpontLeírásScope
GET/api/v1/meKulcs ellenőrzése (tenant + scope-ok)api:read
GET/api/v1/chatbotsChatbotok listájaapi:read
GET/api/v1/chatbots/:idChatbot részleteiapi:read
GET/api/v1/faqs?chatbot_id=…FAQ-k listájaapi:read
GET/api/v1/conversationsBeszélgetések listájaapi:read
GET/api/v1/conversations/:idBeszélgetés + üzenetekapi:read
GET/api/v1/leadsLead-ek listájaapi:read
GET/api/v1/modelsAI modell-katalógusapi:read
POST/api/v1/knowledge/searchHibrid RAG keresés a tudásbázisbanapi:read
POST/api/v1/faqsFAQ létrehozás/frissítésapi:write
POST/api/v1/knowledgeSzöveg a tudásbázisba (chunk + embedding)api:write
PATCH/api/v1/leads/:idLead-státusz frissítéseapi:write

Gépi leírás (OpenAPI 3.1) — importálható Postman/Insomnia-ba vagy SDK-generátorba: GET /api/v1/openapi.json

Példa — chatbotok lekérése (cURL)

curl https://api.chatautomata.hu/api/v1/chatbots \
  -H "Authorization: Bearer $CA_API_KEY"

Példa — tudásbázis-keresés (JavaScript)

const res = await fetch("https://api.chatautomata.hu/api/v1/knowledge/search", {
  method: "POST",
  headers: { "X-API-Key": process.env.CA_API_KEY, "content-type": "application/json" },
  body: JSON.stringify({ chatbot_id: "CHATBOT_UUID", query: "szállítási idő", limit: 5 }),
});
const { results } = await res.json();

Példa — tudásbázis bővítése (cURL, api:write)

curl -X POST https://api.chatautomata.hu/api/v1/knowledge \
  -H "Authorization: Bearer $CA_API_KEY" -H "content-type: application/json" \
  -d '{"chatbot_id":"CHATBOT_UUID","content":"A nyitvatartásunk H-P 9-17 óra között van...","title":"Nyitvatartás"}'

MCP (Model Context Protocol) — AI-asszisztensekhez

A platform natív MCP-szervert ad, amivel a Claude (és más MCP-kompatibilis kliensek) közvetlenül elérik a fiókod adatait és eszközeit. Csatlakozás: a kliensben add hozzá a https://api.chatautomata.hu/mcp URL-t — OAuth 2.1 + PKCE (Dynamic Client Registration) hitelesítéssel, a böngészőben engedélyezve. Eszközök közt: chatbot-, FAQ-, beszélgetés-, lead-kezelés, tudásbázis-keresés és -bővítés (mcp:read / mcp:write scope).

Autentikáció

A legtöbb API végpont Bearer JWT tokent vár az Authorization headerben:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

A tokent a POST /v1/auth/login végponttól kapod:

POST /v1/auth/login
Content-Type: application/json

{
  "email": "pelda@ceg.hu",
  "password": "jelszo123"
}

// Válasz:
{
  "accessToken": "eyJhbG...",
  "refreshToken": "eyJhbG...",
  "user": { "id": "...", "email": "pelda@ceg.hu" }
}

Az access token 15 percig érvényes. A refresh token 7 napig — a POST /v1/auth/refresh végponttal megújítható.

Példa — hitelesített kérés (JavaScript)

const res = await fetch("https://api.chatautomata.hu/v1/chatbots", {
  headers: { "Authorization": "Bearer " + accessToken }
});
const { chatbots } = await res.json();

Példa — ugyanaz cURL-lel

curl https://api.chatautomata.hu/v1/chatbots \
  -H "Authorization: Bearer $TOKEN"

BYOK (Bring Your Own Key): A chatbot-konfiguráció saját AI kulcsokat is elfogad (OpenAI, Anthropic, Gemini, stb.). Ezek AES-256-GCM titkosítással tárolódnak a platformon.

REST API-kulcsok (szerver-szerver integrációhoz)

Programozott (gép-gép) hozzáláshoz API-kulcsot hozhatsz létre a Beállítások → Fiók → REST API-kulcsok alatt. A teljes kulcs (ca_live_…) csak egyszer, létrehozáskor jelenik meg — utána már nem visszafejthető. A kulcsot a /api/v1 felületen használod, kétféleképp:

Authorization: Bearer ca_live_xxxxxxxx...
# vagy
X-API-Key: ca_live_xxxxxxxx...

Scope-ok: api:read (lekérdezés) és api:write (módosítás). Opcionálisan IP-engedélylista is megadható kulcsonként. Visszavonás bármikor a dashboardon — a kulcs azonnal érvénytelen.

curl https://api.chatautomata.hu/api/v1/chatbots \
  -H "Authorization: Bearer $CA_API_KEY"

Rate-limit: 120 kérés/perc/kulcs (X-RateLimit-* fejlécek). Ezen felül csomag-függő havi kvóta van (X-API-Quota-* fejlécek); túllépéskor 429 quota_exceeded. Az aktuális használat a GET /api/v1/me válaszában (usage).

Webhook-ok

A kimenő webhook-okat a dashboardon vagy a /v1/webhooks API-n regisztrálod. Minden kézbesítés egy HMAC-SHA256 aláírást és az alábbi fejléceket kapja:

POST https://a-te-url-ed/webhook
Content-Type: application/json
X-ChatAutomata-Signature: sha256=a1b2c3d4e5f6...
X-ChatAutomata-Event: lead.captured
X-ChatAutomata-Retry: 1

A törzs (body) JSON-formátuma:

{
  "event": "lead.captured",
  "timestamp": 1716652800000,
  "data": { ... }   // eseményfüggő adatok
}

Aláírás ellenőrzése

Számítsd ki a nyers kérés-törzsből a HMAC-SHA256(webhook_secret, raw_body) hex értéket, és hasonlítsd össze az X-ChatAutomata-Signature fejléc sha256= utáni részével (időállandó összehasonlítás ajánlott):

// Node.js (Express, express.raw a body-hoz)
import crypto from "node:crypto";

const sig = req.headers["x-chatautomata-signature"].split("=")[1];
const expected = crypto.createHmac("sha256", WEBHOOK_SECRET)
  .update(req.body)            // a NYERS body (Buffer/string)
  .digest("hex");
const ok = crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected));

Elérhető események

  • lead.captured — Lead rögzítve (chat, flow vagy pre-chat űrlap)
  • message.received — Látogatói üzenet érkezett
  • conversation.ended — Beszélgetés lezárult (kézi lezárás vagy inaktivitás)
  • conversation.assigned — Beszélgetés operátorhoz rendelve
  • booking.created — Foglalás jött létre (AIBooking integráció)

Egy webhook feliratkozhat több eseményre, illetve a * minden eseményre. Kézbesítési hiba esetén 3× újrapróbálkozás (0/5/30 mp), a próbálkozások a dashboardon naplózva.

Widget testreszabás

A chatbot megjelenése 60+ beállítással finomhangolható a PATCH /v1/chatbots/:id végponton vagy a dashboard szerkesztőben:

Megjelenés

  • 9 szín (márka, háttér, szöveg, buborék, fejléc, link, keret)
  • Logó, fejléc padding, lebegő-buborék tooltip
  • Pozíció (desktop/mobil külön), z-index, méret
  • Témaváltó (auto/világos/sötét), betűméret-választó

Tartalom

  • Indító kérdések, adatvédelmi szöveg (buborékban)
  • Hangbemenet, proaktív megszólítás, ajánlások
  • Másolás gomb, értékelés, hiba-jelentés

Értesítések

  • Telegram (AES-titkosított token), email (Resend)
  • 5 trigger: minden beszélgetés, negatív értékelés, kulcsszó, válaszhiány, hosszú beszélgetés

Rate limit-ek

Az API méltányos-használati korlátokkal véd a visszaélés ellen. A limit túllépésekor 429 Too Many Requests választ kapsz, Retry-After headerrel (másodperc).

Végpont-csoportLimitAblak
Bejelentkezés (/v1/auth/login)10 kérés15 perc / IP+email
Regisztráció (/v1/auth/register)8 kérés1 óra / IP
Chat (/v1/chat)csomag-függő üzenetkvótahavi
Widget-események (typing, presence)240 kérés1 perc / IP
Publikus REST API (/api/v1, API-kulcs)120 kérés / kulcs (+ 300/IP)1 perc
Publikus REST API — havi kvóta (csomag-függő)Free 1k · Starter 10k · Pro 100k · Business 500khavi
Egyéb hitelesített API120 kérés1 perc / token

A pontos havi üzenetkvótát a csomagod határozza meg (Ingyenes: 100/hó). BYOK-kulccsal a saját provider-kvótád érvényes, az üzenetszám csak statisztika.

Hibakódok

Minden hiba egységes JSON-formátumban érkezik:

{
  "error": "validation_error",
  "message": "A jelszó legalább 8 karakter legyen."
}
HTTPerror mezőJelentés
200Sikeres
201Létrehozva
400validation_errorHibás/hiányzó mező a kérésben
401unauthorizedHiányzó vagy lejárt token
403forbiddenNincs jogosultság az erőforráshoz
404not_foundAz erőforrás nem létezik
409conflictÜtközés (pl. már létező email)
429rate_limitedTúl sok kérés — lásd Retry-After
500server_errorVáratlan szerverhiba
503not_configuredA funkció nincs beállítva (pl. Stripe)

Tipp: a kliensed mindig a message mezőt jelenítse meg a felhasználónak (magyar, ember-olvasható), az error mezőt pedig programozott elágazáshoz használd.

Gyakori kérdések

Milyen AI modelleket támogat a ChatAutomata?
10+ szolgáltató: OpenAI (GPT-4o, o1), Anthropic (Claude), Google (Gemini), DeepSeek, Mistral, Groq, Together, OpenRouter, Ollama Cloud és saját Ollama szerver. BYOK támogatás minden szolgáltatóhoz.
Mennyibe kerül a platform?
Van ingyenes csomag (1 chatbot, 100 üzenet/hó). A Pro csomag korlátlan chatbottal és üzenettel havi 9 900 Ft-tól indul.
Működik WordPress oldalon is?
Igen! Van dedikált WordPress plugin (v1.0.1), ami egyetlen kattintással telepíthető. Ezen kívül bármilyen weboldalra beágyazható a script-taggel.
GDPR-kompatibilis a ChatAutomata?
Igen. AES-256-GCM titkosítás védi a tárolt kulcsokat, és automatikus GDPR-törlés fut a lejárt adatokra.
Hogyan csatlakoztatom a saját rendszeremhez?
REST API + Webhook-ok + 28 beépített integráció (AIBooking, WooCommerce, Google Calendar, Slack, HubSpot stb.).