Späť na panel

Dokumentácia

Naučte sa používať Asyntai

API referencia

Vytvárajte vlastné integrácie s Asyntai REST API

Získať API kľúč

Vyžaduje sa platený plán: API prístup je dostupný na plánoch Starter, Standard a Pro. Zobraziť ceny

Prehľad

Asyntai API vám umožňuje integrovať zákaznícku podporu poháňanú AI do akejkoľvek aplikácie. Posielajte správy a dostávajte inteligentné odpovede natrénované na obsahu vášho webu a znalostnej báze.

Autentifikácia

Všetky API požiadavky vyžadujú autentifikáciu pomocou vášho API kľúča. Svoj API kľúč nájdete na stránke Nastavenia API.

Zahrňte svoj API kľúč do požiadaviek pomocou jednej z týchto metód:

  • Hlavička Authorization (odporúčaná): Authorization: Bearer YOUR_API_KEY
  • Hlavička X-API-Key: X-API-Key: YOUR_API_KEY

Udržujte svoj API kľúč v tajnosti. Ktokoľvek s vaším kľúčom môže pristupovať k vášmu účtu cez API. Nikdy ho nezverejňujte v kóde na strane klienta.

Základná URL

https://asyntai.com/api/v1/

Koncové body

POST /chat/

Odošlite správu a dostanete odpoveď vygenerovanú AI.

Telo požiadavky

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
Parameter Typ Povinné Popis
message string Áno Správa používateľa na odoslanie do AI
session_id string Nie Jedinečný identifikátor konverzácie. Použite rovnaký session_id na zachovanie histórie konverzácie.
website_id integer Nie ID konkrétneho webu. Ak nie je zadané, použije sa váš primárny web.

Odpoveď

{
  "success": true,
  "response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
  "session_id": "user_123"
}

Príklad (cURL)

curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "What are your business hours?", "session_id": "user_123"}'

Príklad (Python)

import requests

response = requests.post(
    "https://asyntai.com/api/v1/chat/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "message": "What are your business hours?",
        "session_id": "user_123"
    }
)

data = response.json()
print(data["response"])

Príklad (JavaScript)

const response = await fetch("https://asyntai.com/api/v1/chat/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    message: "What are your business hours?",
    session_id: "user_123"
  })
});

const data = await response.json();
console.log(data.response);

GET /websites/

Zobrazte zoznam všetkých webových stránok priradených k vášmu účtu.

Odpoveď

{
  "success": true,
  "websites": [
    {
      "id": 1,
      "name": "My Website",
      "domain": "example.com",
      "is_primary": true
    }
  ]
}

Príklad (cURL)

curl https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /conversations/

Načítajte históriu konverzácie pre konkrétnu reláciu.

Parametre dotazu

Parameter Typ Povinné Popis
session_id string Áno ID relácie, pre ktorú sa má načítať história
limit integer Nie Maximálny počet správ na vrátenie (predvolené: 50, max: 100)

Odpoveď

{
  "success": true,
  "session_id": "user_123",
  "messages": [
    {
      "role": "user",
      "content": "What are your business hours?",
      "timestamp": "2024-01-15T10:30:00Z"
    },
    {
      "role": "assistant",
      "content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
      "timestamp": "2024-01-15T10:30:01Z"
    }
  ]
}

Príklad (cURL)

curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /sessions/

Zobrazte zoznam vašich posledných chatových relácií. Použite to na zistenie ID relácií, ktoré potom môžete odoslať do /conversations/ na získanie kompletnej histórie správ.

Parametre dotazu

Parameter Typ Povinné Popis
limit integer Nie Počet posledných relácií na vrátenie (predvolené: 20, max: 100)
website_id string Nie Filtrovať relácie podľa konkrétneho ID webovej stránky
source string Nie Filtrovať podľa zdroja relácie: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

Odpoveď

{
  "success": true,
  "sessions": [
    {
      "session_id": "session_abc123def",
      "source": "widget",
      "message_count": 5,
      "first_message": "What are your business hours?",
      "first_message_at": "2024-01-15T10:30:00Z",
      "last_message_at": "2024-01-15T10:35:00Z",
      "website_domain": "example.com"
    }
  ]
}

Príklad (cURL)

curl "https://asyntai.com/api/v1/sessions/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /leads/

Získať zozbierané kontakty — e-mailové adresy a telefónne čísla odoslané návštevníkmi počas chatových konverzácií.

Parametre dotazu

Parameter Typ Povinné Popis
limit integer Nie Počet kontaktov na vrátenie (predvolené: 50, max: 100)
website_id string Nie Filtrovať kontakty podľa konkrétneho ID webovej stránky

Odpoveď

{
  "success": true,
  "leads": [
    {
      "session_id": "session_abc123def",
      "email": "visitor@example.com",
      "phone": "+1234567890",
      "page_url": "https://example.com/pricing",
      "started_at": "2024-01-15T10:30:00Z"
    }
  ]
}
Pole Typ Popis
session_id string ID chatovej relácie. Pošlite ho do /conversations/ pre zobrazenie úplnej histórie chatu.
email reťazec alebo null E-mailová adresa poskytnutá návštevníkom, alebo null ak nebola zozbieraná
phone reťazec alebo null Telefónne číslo poskytnuté návštevníkom, alebo null ak nebolo zozbierané
page_url reťazec alebo null URL stránky, kde návštevník chatoval
started_at string Časová pečiatka ISO 8601 začiatku chatovej relácie

Príklad (cURL)

curl "https://asyntai.com/api/v1/leads/?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Príklad (Python)

import requests

response = requests.get(
    "https://asyntai.com/api/v1/leads/",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"limit": 20}
)

leads = response.json()["leads"]
for lead in leads:
    print(f"{lead['email'] or ''} | {lead['phone'] or ''}")

GET /account/

Získajte informácie o svojom účte a štatistiky používania.

Odpoveď

{
  "success": true,
  "account": {
    "email": "you@example.com",
    "plan": "starter",
    "messages_used": 150,
    "messages_limit": 2500
  }
}

Príklad (cURL)

curl https://asyntai.com/api/v1/account/ \
  -H "Authorization: Bearer YOUR_API_KEY"

Viacero webových stránok? Koncové body znalostnej bázy predvolene smerujú na vašu primárnu webovú stránku. Ak máte viacero webových stránok, odošlite website_id na zacielenie konkrétnej. Vaše ID webových stránok nájdete pomocou GET /websites/.

Denné limity nahrávania: Nahrávanie do znalostnej bázy (text, URL, tabuľka) podlieha dennému limitu znakov podľa vášho plánu. Toto sa vzťahuje na celkový obsah nahraný cez všetky koncové body znalostnej bázy za deň.

Plán Znaky/deň
Starter100 000
Standard500 000
Pro2 000 000

GET /knowledge/

Zobrazte zoznam záznamov vašej znalostnej bázy. Toto sú obsahové zdroje, ktoré váš AI chatbot používa na odpovedanie na otázky.

Parametre dotazu

Parameter Typ Povinné Popis
limit integer Nie Počet záznamov na vrátenie (predvolené: 50, max: 100)
website_id string Nie Filtrovať podľa ID webovej stránky (predvolene vaša primárna webová stránka)

Odpoveď

{
  "success": true,
  "entries": [
    {
      "id": "abc-123-def",
      "type": "text",
      "title": "Business Hours",
      "description": "Manual text content (150 words)",
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": "ghi-456-jkl",
      "type": "url",
      "title": "About Us - Example",
      "description": "Content from https://example.com/about",
      "created_at": "2024-01-14T09:00:00Z"
    }
  ]
}

Príklad (cURL)

curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /knowledge/text/

Pridajte vlastný textový obsah do svojej znalostnej bázy. AI ho použije na odpovedanie na otázky návštevníkov.

Telo požiadavky

{
  "title": "Return Policy",
  "content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
  "website_id": "123"
}
Parameter Typ Povinné Popis
title string Áno Názov pre tento záznam znalostnej bázy
content string Áno Textový obsah (min. 10 znakov)
website_id string Nie Cieľová webová stránka (predvolene vaša primárna webová stránka)

Odpoveď

{
  "success": true,
  "id": "abc-123-def",
  "title": "Return Policy",
  "chunks_created": 1
}

Príklad (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'

POST /knowledge/url/

Pridajte webovú stránku do svojej znalostnej bázy. Obsah sa automaticky načíta a extrahuje.

Telo požiadavky

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
Parameter Typ Povinné Popis
url string Áno URL, z ktorej sa má načítať obsah
website_id string Nie Cieľová webová stránka (predvolene vaša primárna webová stránka)

Odpoveď

{
  "success": true,
  "id": "abc-123-def",
  "title": "FAQ - Example",
  "url": "https://example.com/faq",
  "chunks_created": 5
}

Príklad (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/faq"}'

POST /knowledge/spreadsheet/

Nahrajte CSV alebo Excel (.xlsx) tabuľku do svojej znalostnej bázy. Každý riadok sa stane samostatným záznamom, ideálne pre produktové katalógy, zoznamy často kladených otázok, cenníky a adresáre.

Požiadavka

Odošlite ako multipart/form-data (nahratie súboru), nie JSON.

Parameter Typ Povinné Popis
file súbor Áno Súbor .csv alebo .xlsx. Prvý riadok musia byť hlavičky stĺpcov. Max. riadkov na nahratie: Starter 500, Standard 2 000, Pro 10 000. Nadbytočné riadky sú orezané.
website_id string Nie Cieľová webová stránka (predvolene vaša primárna webová stránka)

Odpoveď

{
  "success": true,
  "id": "abc-123-def",
  "title": "products.csv",
  "rows_processed": 15,
  "chunks_created": 15
}

Príklad (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@products.csv"

DELETE /knowledge/{id}/

Odstráňte záznam znalostnej bázy. id nájdete v odpovedi GET /knowledge/.

Odpoveď

{
  "success": true,
  "message": "Knowledge base entry deleted"
}

Príklad (cURL)

curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Tip: Webhooky môžete spravovať aj z Nastavenia API stránky bez písania akéhokoľvek kódu.

GET /webhooks/

Zobrazte zoznam vašich zaregistrovaných webhookov.

Odpoveď

{
  "success": true,
  "webhooks": [
    {
      "id": "abc-123-def",
      "url": "https://example.com/webhook",
      "events": ["message.received", "escalation.requested"],
      "is_active": true,
      "created_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Príklad (cURL)

curl "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /webhooks/

Zaregistrujte nový webhook na prijímanie upozornení na udalosti v reálnom čase.

Dostupné udalosti

Udalosť Popis
message.received Návštevník odoslal správu a dostal odpoveď
conversation.started Nová chatová relácia bola začatá
escalation.requested AI spustila eskaláciu na ľudského agenta
takeover.started Ľudský agent prevzal chatovú reláciu

Telo požiadavky

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
Parameter Typ Povinné Popis
url string Áno HTTPS URL na prijímanie POST požiadaviek webhooku
events pole Áno Zoznam udalostí na odber (pozri tabuľku vyššie)
website_id string Nie Cieľová webová stránka (predvolene vaša primárna webová stránka)

Odpoveď

{
  "success": true,
  "webhook": {
    "id": "abc-123-def",
    "url": "https://example.com/webhook",
    "events": ["message.received", "escalation.requested"],
    "secret": "whsec_abc123...",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Overenie webhookov: Každý webhook obsahuje secret (zobrazený iba pri vytvorení). Každý POST na vašu URL obsahuje X-Webhook-Signature hlavičku — HMAC-SHA256 tela požiadavky podpísanú vaším tajným kľúčom.

Príklad (cURL)

curl -X POST "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/webhook", "events": ["message.received"]}'

DELETE /webhooks/{id}/

Odstráňte webhook. id nájdete v odpovedi GET /webhooks/.

Odpoveď

{
  "success": true,
  "message": "Webhook deleted"
}

Príklad (cURL)

curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Chybové odpovede

Všetky chybové odpovede majú tento formát:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
Stavový kód Popis
400 Chybná požiadavka - Neplatné parametre alebo chýbajúce povinné polia
401 Neautorizované - Neplatný alebo chýbajúci API kľúč
429 Príliš veľa požiadaviek - Dosiahnutý limit správ pre váš plán
503 Služba nedostupná - AI služba je dočasne nedostupná

Limity požiadaviek

Používanie API je obmedzené vaším predplatným plánom:

  • Free: 100 správ/mesiac
  • Starter (39 $/mes.): 2 500 správ/mesiac
  • Standard (139 $/mes.): 15 000 správ/mesiac
  • Pro (449 $/mes.): 50 000 správ/mesiac

Potrebujete pomoc?

Ak máte akékoľvek otázky alebo narazíte na problémy, kontaktujte nás na hello@asyntai.com.