Zpět na přehled

Dokumentace

Naučte se používat Asyntai

Dokumentace k API

Vytvářejte vlastní integrace s Asyntai REST API

Získat API klíč

Vyžadován placený plán: Přístup k API je dostupný na plánech Starter, Standard a Pro. Zobrazit ceník

Přehled

API Asyntai vám umožňuje integrovat zákaznickou podporu s umělou inteligencí do jakékoli aplikace. Odesílejte zprávy a přijímejte inteligentní odpovědi natrénované na obsahu vašeho webu a znalostní bázi.

Autentizace

Všechny API požadavky vyžadují autentizaci pomocí vašeho API klíče. API klíč získáte na stránce Nastavení API.

Zahrňte svůj API klíč do požadavků jedním z těchto způsobů:

  • Hlavička Authorization (doporučeno): Authorization: Bearer YOUR_API_KEY
  • Hlavička X-API-Key: X-API-Key: YOUR_API_KEY

Udržujte svůj API klíč v tajnosti. Kdokoli s vaším klíčem může přistupovat k vašemu účtu přes API. Nikdy ho nezveřejňujte v klientském kódu.

Základní URL

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

Endpointy

POST /chat/

Odešlete zprávu a obdržíte odpověď vygenerovanou umělou inteligencí.

Tělo požadavku

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
Parametr Typ Povinné Popis
message string Ano Zpráva uživatele k odeslání umělé inteligenci
session_id string Ne Jedinečný identifikátor konverzace. Použijte stejné session_id pro zachování historie konverzace.
website_id integer Ne Konkrétní ID webu. Pokud není zadáno, použije se váš primární web.

Odpověď

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

Pří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"}'

Pří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"])

Pří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/

Zobrazí všechny weby přiřazené k vašemu účtu.

Odpověď

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

Příklad (cURL)

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

GET /conversations/

Načte historii konverzace pro konkrétní relaci.

Parametry dotazu

Parametr Typ Povinné Popis
session_id string Ano ID relace, pro kterou se má načíst historie
limit integer Ne Maximální počet zpráv k vrácení (výchozí: 50, max: 100)

Odpověď

{
  "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"
    }
  ]
}

Příklad (cURL)

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

GET /sessions/

Zobrazí vaše nedávné chatové relace. Použijte k zjištění ID relací, která pak můžete předat do /conversations/ pro načtení úplné historie zpráv.

Parametry dotazu

Parametr Typ Povinné Popis
limit integer Ne Počet nedávných relací k vrácení (výchozí: 20, max: 100)
website_id string Ne Filtrovat relace podle konkrétního ID webu
source string Ne Filtrovat podle zdroje relace: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

Odpověď

{
  "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"
    }
  ]
}

Příklad (cURL)

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

GET /leads/

Získejte shromážděné kontakty — e-mailové adresy a telefonní čísla, které návštěvníci odeslali během chatových konverzací.

Parametry dotazu

Parametr Typ Povinné Popis
limit integer Ne Počet kontaktů k vrácení (výchozí: 50, max: 100)
website_id string Ne Filtrovat kontakty podle konkrétního ID webu

Odpověď

{
  "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 chatové relace. Předejte ho do /conversations/ pro zobrazení úplné historie chatu.
email řetězec nebo null E-mailová adresa poskytnutá návštěvníkem, nebo null pokud nebyla shromážděna
phone řetězec nebo null Telefonní číslo poskytnuté návštěvníkem, nebo null pokud nebylo shromážděno
page_url řetězec nebo null URL stránky, kde návštěvník chatoval
started_at string Časové razítko ISO 8601 začátku chatové relace

Příklad (cURL)

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

Pří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ískejte informace o svém účtu a statistiky využití.

Odpověď

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

Příklad (cURL)

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

Více webů? Koncové body znalostní báze se výchozě vztahují k vašemu primárnímu webu. Pokud máte více webů, předejte website_id pro zacílení konkrétního webu. ID svých webů najděte pomocí GET /websites/.

Denní limity nahrávání: Nahrávání do znalostní báze (text, URL, tabulka) podléhá dennímu limitu znaků podle vašeho tarifu. Toto platí pro celkový obsah nahraný prostřednictvím všech koncových bodů znalostní báze za den.

Tarif Znaky/den
Starter100 000
Standard500 000
Pro2 000 000

GET /knowledge/

Zobrazí záznamy vaší znalostní báze. Jedná se o zdroje obsahu, které váš AI chatbot používá k odpovídání na otázky.

Parametry dotazu

Parametr Typ Povinné Popis
limit integer Ne Počet záznamů k vrácení (výchozí: 50, max: 100)
website_id string Ne Filtrovat podle ID webu (výchozí je váš primární web)

Odpověď

{
  "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"
    }
  ]
}

Příklad (cURL)

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

POST /knowledge/text/

Přidejte vlastní textový obsah do znalostní báze. AI jej použije k odpovídání na dotazy návštěvníků.

Tělo požadavku

{
  "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"
}
Parametr Typ Povinné Popis
title string Ano Název tohoto záznamu znalostní báze
content string Ano Textový obsah (min. 10 znaků)
website_id string Ne Cílový web (výchozí je váš primární web)

Odpověď

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

Pří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/

Přidejte webovou stránku do znalostní báze. Obsah bude automaticky stažen a extrahován.

Tělo požadavku

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
Parametr Typ Povinné Popis
url string Ano URL adresa, ze které se má načíst obsah
website_id string Ne Cílový web (výchozí je váš primární web)

Odpověď

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

Pří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 nebo Excel (.xlsx) tabulku do znalostní báze. Každý řádek se stane samostatným záznamem znalostní báze, ideální pro produktové katalogy, seznamy FAQ, ceníky a adresáře.

Požadavek

Odešlete jako multipart/form-data (nahrání souboru), ne JSON.

Parametr Typ Povinné Popis
file file Ano Soubor .csv nebo .xlsx. První řádek musí být záhlaví sloupců. Max. řádků na nahrání: Starter 500, Standard 2 000, Pro 10 000. Přebytečné řádky budou zkráceny.
website_id string Ne Cílový web (výchozí je váš primární web)

Odpověď

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

Pří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}/

Smazání záznamu znalostní báze. id najděte v odpovědi GET /knowledge/.

Odpověď

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

Příklad (cURL)

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

Tip: Webhooky můžete také spravovat z Nastavení API stránky bez psaní jakéhokoliv kódu.

GET /webhooks/

Zobrazí vaše registrované webhooky.

Odpověď

{
  "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"
    }
  ]
}

Příklad (cURL)

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

POST /webhooks/

Zaregistrujte nový webhook pro příjem upozornění na události v reálném čase.

Dostupné události

Událost Popis
message.received Návštěvník odeslal zprávu a obdržel odpověď
conversation.started Byla zahájena nová chatová relace
escalation.requested AI spustila eskalaci na lidského agenta
takeover.started Lidský agent převzal chatovou relaci

Tělo požadavku

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
Parametr Typ Povinné Popis
url string Ano HTTPS URL pro příjem webhook POST požadavků
events pole Ano Seznam událostí k odběru (viz tabulka výše)
website_id string Ne Cílový web (výchozí je váš primární web)

Odpověď

{
  "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"
  }
}

Ověřování webhooku: Každý webhook obsahuje secret (zobrazeno pouze při vytvoření). Každý POST na vaši URL obsahuje X-Webhook-Signature hlavičku — HMAC-SHA256 těla požadavku podepsaného vaším tajným klíčem.

Pří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}/

Smazání webhooku. id najděte v odpovědi GET /webhooks/.

Odpověď

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

Příklad (cURL)

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

Chybové odpovědi

Všechny chybové odpovědi mají tento formát:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
Stavový kód Popis
400 Chybný požadavek - Neplatné parametry nebo chybějící povinná pole
401 Neautorizováno - Neplatný nebo chybějící API klíč
429 Příliš mnoho požadavků - Dosažen limit zpráv vašeho tarifu
503 Služba nedostupná - AI služba je dočasně nedostupná

Limity požadavků

Používání API je omezeno vaším předplatným:

  • Free: 100 zpráv/měsíc
  • Starter (39 $/měs.): 2 500 zpráv/měsíc
  • Standard (139 $/měs.): 15 000 zpráv/měsíc
  • Pro (449 $/měs.): 50 000 zpráv/měsíc

Potřebujete pomoc?

Máte-li jakékoli dotazy nebo narazíte na problémy, kontaktujte nás na hello@asyntai.com.