AI Chat

Test vyhledávání

Načítám...

Vyhledávám na webu, prosím čekejte...

API Vyhledávač - Dokumentace

Přehled

REST API endpoint pro vyhledávání v dokumentech pomocí OpenAI Assistant s file search.

Endpoint

POST https://ai-chat.obecni.net/api/search/{apiKey}

URL parametry:

  • {apiKey} - API klíč webu (např. your-api-key-here)

Request body (JSON):

{
  "query": "váš vyhledávací dotaz"
}

Příklad požadavku

JavaScript/Fetch API

const apiKey = 'your-api-key-here';
const query = 'Jak se objednat na vyšetření?';

fetch(`https://ai-chat.obecni.net/api/search/${apiKey}`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ query: query })
})
  .then(response => response.json())
  .then(data => {
    console.log('Summary:', data.summary);
    console.log('Results:', data.results);
  });

PHP/cURL

$apiKey = 'your-api-key-here';
$query = 'Jak se objednat na vyšetření?';

$url = 'https://ai-chat.obecni.net/api/search/' . $apiKey;
$data = json_encode(['query' => $query]);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
echo "Summary: " . $result['summary'] . "\n";
print_r($result['results']);

Odpověď

Úspěšná odpověď (200 OK)

{
  "summary": "Objednání na vyšetření je možné telefonicky, online přes rezervační systém nebo osobně na recepci.",
  "results": [
    {
      "title": "Jak se objednat na vyšetření",
      "url": "https://example.com/objednani",
      "description": "Kompletní návod na objednání vyšetření včetně kontaktů a otevírací doby."
    },
    {
      "title": "Online rezervační systém",
      "url": "https://example.com/rezervace",
      "description": "Pokyny pro využití online rezervačního systému pro objednání k lékaři."
    }
  ]
}

Struktura:

  • summary (string) - Stručné shrnutí odpovědi nebo "Nenašel jsem relevantní informace." (max 160 znaků)
  • results (array) - Pole nalezených dokumentů (0-10 položek)
    • title (string) - Název dokumentu
    • url (string) - Plná URL dokumentu
    • description (string) - Popis obsahu (max 200 znaků)

Chybové odpovědi

400 Bad Request - Chybí parametr query

{
  "status": "error",
  "message": "Invalid data",
  "details": "Query parameter is required"
}

404 Not Found - Web s daným UID nenalezen

{
  "error": "Website not found"
}

500 Internal Server Error - Chyba při zpracování

{
  "error": "Search failed: [error message]"
}

Poznámky k použití

Výkon

  • Doba odezvy je v řádu nižších desítek sekund
  • Doporučení: Zobrazit loading indikátor uživateli

Limity

  • Maximálně 10 výsledků na dotaz
  • Minimálně 5 výsledků (pokud jsou k dispozici)
  • Summary max 160 znaků
  • Description max 200 znaků

Bezpečnost

  • Autentizace: Kontrolována přes API klíč v URL adrese - každý web má vlastní unikátní API klíč
  • CORS: Povolen pouze pokud doména v požadavku souhlasí s adresou webu uloženou v databázi