API referencia

Integráld az enuchatot a rendszereidbe a Tenant API használatával. Kezelj beszélgetéseket, küldj üzeneteket és érj el számlázási adatokat programozottan.

Hitelesítés

Minden API kérés hitelesítve van egy API kulccsal, amit a X-Api-Key fejlécben küldenek.

Az API kulcsod megszerzése

  1. Menj a Beállítások → API kulcsok-hoz az irányítópultodban
  2. Kattints az API kulcs létrehozása-ra és adj neki nevet
  3. Másold a kulcsot azonnal — csak egyszer jelenik meg
  4. Tárold biztonságosan (környezeti változó, secret manager)

Kérések készítése

Tartalmazd a kulcsot minden kérésben:

curl -H "X-Api-Key: tak_your_key_here" \
     https://api.enuchat.com/api/v1/tenant-api/widgets

Minden válasz JSON. A sikeres válaszoknak van data mezőjük. A hibáknak van error mezőjük code-dal és message-dzsel.

Biztonság: Az API kulcsok hash-elve vannak (SHA-256) az adatbázisunkban. Soha nem tároljuk a nyers kulcsot. Kezeld a kulcsod úgy, mint egy jelszót — ne commitáld a kódba vagy oszd meg nyilvánosan.

Alap URL

https://api.enuchat.com/api/v1/tenant-api

Minden alábbi végpont ehhez az alap URL-hez képest relatív.

Végpontok

GET /widgets

Listázza az összes widgetet a fiókodban.

Válasz

{'{'}
  "data": [
{'{'}
      "id": "019d19c6-7e0b-...",
      "name": "Main Website Chat",
      "isActive": true,
      "aiEnabled": true,
      "translationEnabled": true,
      "primaryColor": "#2563eb",
      "position": "bottom-right"
    }
  ]
}

GET /conversations

Listázza a beszélgetéseket a legutóbbi üzenet szerint rendezve.

Lekérdezési paraméterek

ParaméterTípusLeírás
statusstringSzűrés állapot szerint: open, pending, closed
widgetIdstringSzűrés widget UUID szerint
limitintegerMax eredmények (alapértelmezett 20, max 100)
offsetintegerN eredmény átugrása

Példa

curl -H "X-Api-Key: tak_..." \
     "https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"

Válasz

{'{'}
  "data": [
{'{'}
      "id": "019d6724-000e-...",
      "widgetId": "019d19c6-7e0b-...",
      "visitorId": "v-abc123",
      "visitorName": "John",
      "visitorEmail": "john{'@'}example.com",
      "visitorLanguage": "en",
      "status": "open",
      "assignedTo": null,
      "lastMessageAt": "2026-04-11T14:30:00+00:00",
      "startedAt": "2026-04-11T14:25:00+00:00"
    }
  ]
}

GET /conversations/{'{'}id}

Beszélgetés lekérése minden üzenettel.

Lekérdezési paraméterek

ParaméterTípusLeírás
limitintegerMax üzenetek (alapértelmezett 50, max 200)

Válasz

{'{'}
  "data": {'{'}
    "id": "019d6724-000e-...",
    "visitorLanguage": "en",
    "status": "open",
    "messages": [
{'{'}
        "id": "019d6724-1234-...",
        "role": "visitor",
        "content": "Hello, how much does it cost?",
        "contentLanguage": "en",
        "translatedContent": "Cześć, ile to kosztuje?",
        "translatedLanguage": "pl",
        "isAutoReply": false,
        "createdAt": "2026-04-11T14:25:30+00:00"
      },
{'{'}
        "id": "019d6724-5678-...",
        "role": "ai",
        "content": "Our plans start at €19/month...",
        "isAutoReply": true,
        "createdAt": "2026-04-11T14:25:32+00:00"
      }
    ]
  }
}

POST /conversations/{'{'}id}/messages

Üzenet küldése egy beszélgetésbe. Az üzenet valós időben kézbesítődik a látogatónak a chat widgeten keresztül.

Kérés törzse

{'{'}
  "content": "Thanks for reaching out! We'll process your request.",
  "role": "system"
}
MezőTípusLeírás
contentstringKötelező. Az üzenet szövege.
rolestringsystem (alapértelmezett) vagy operator

Válasz (201 Created)

{'{'}
  "data": {'{'}
    "id": "019d6725-abcd-...",
    "role": "system",
    "content": "Thanks for reaching out!",
    "createdAt": "2026-04-11T14:35:00+00:00"
  }
}

PATCH /conversations/{'{'}id}

Beszélgetés állapotának vagy hozzárendelésének frissítése.

Kérés törzse

{'{'}
  "status": "closed"
}
MezőTípusLeírás
statusstringopen, pending, vagy closed
assignedTostring|nullOperátor UUID a hozzárendeléshez, vagy null a hozzárendelés megszüntetéséhez

GET /billing/balance

Jelenlegi csomag és kreditegyenleg lekérése.

Válasz

{'{'}
  "data": {'{'}
    "plan": "pro",
    "creditBalance": 4500000,
    "totalCreditsAdded": 10000000
  }
}

Hibakezelés

A hibák nem-2xx állapotkódot adnak vissza JSON törzzsel:

{'{'}
  "error": {'{'}
    "code": "NOT_FOUND",
    "message": "Conversation not found."
  }
}
HTTP állapotJelentés
401Érvénytelen, lejárt vagy hiányzó API kulcs
400Érvénytelen kérés törzs vagy paraméterek
404Erőforrás nem található (vagy másik tenanthoz tartozik)
500Szerverhiba

Gyakori felhasználási esetek

CRM integráció

Kérdezd le az új beszélgetéseket és szinkronizáld a látogatói adatokat (név, e-mail, nyelv) a CRM-edhez. Használd a beszélgetés ID-t külső referenciaként.

Automatizált nyomon követések

Miután egy beszélgetés lezárult, küldj nyomon követő üzenetet az API-n keresztül: „Köszönjük a chatet! Van még valami, amiben segíthetünk?”

Webhook alternatíva

Amíg a kimenő webhookok nem elérhetők, periodikusan kérdezd le a beszélgetések végpontot új üzenetek vagy állapotváltozások észlelésére.

Tömeges műveletek

Zárd le a 7 napnál régebbi beszélgetéseket, rendelj hozzá beszélgetéseket operátorokhoz külső logika alapján, vagy exportáld a beszélgetési előzményt analitikához.

Sebességkorlátok

Az API legfeljebb 60 kérést enged percenként API kulcsonként. Ha túllépsz ezen a limiten, 429 Too Many Requests választ kapsz. Várj és próbáld újra exponenciális backoffal.

Készen állsz integrálni?

Hozd létre az ingyenes fiókod és generálj API kulcsot percek alatt.

Kezdj ingyen