API referencia
Vytvárajte vlastné integrácie s Asyntai REST API
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ň |
|---|---|
| Starter | 100 000 |
| Standard | 500 000 |
| Pro | 2 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.