Informio für Entwickler

Chat und Search einbinden oder eine eigene Oberfläche bauen

Ergänzen Sie Ihre Website um das Chat-Widget oder Informio Search. Eigene Oberflächen nutzen die öffentliche API mit freigegebenen Domains, Lokalisierung und den vorhandenen Assistentendaten.

Einfachste Bereitstellung

Ein vollständiges Widget mit einem Skript

Erlauben Sie zunächst die Domain Ihrer Website in den Assistenten-Einstellungen. Ersetzen Sie dann ASSISTANT_ID durch die öffentliche Assistenten-ID und fügen Sie den Code in die Seite ein. Das Widget lädt sein Erscheinungsbild, seine Beschriftungen und den Gesprächsverlauf automatisch.

HTML
<script src="https://informio.eu/widget.js" data-assistant="ASSISTANT_ID" defer></script>

Platzieren Sie den Code vor dem schließenden </body>-Tag. Das defer-Attribut verhindert, dass das Laden der Seite blockiert wird, und das Widget funktioniert auf Desktop und Mobilgeräten.

Zulässige Domain

Der Request-Origin muss mit einer in den Assistenten-Einstellungen zugelassenen Domain übereinstimmen. Browser senden ihn automatisch.

Stabile Sitzung

Ihre zufällige session_id bewahrt den Chat-Verlauf zwischen Nachrichten und beim erneuten Öffnen des Clients.

Öffentliche Assistenten-ID

Die Assistenten-ID ist kein geheimer API-Schlüssel. Legen Sie niemals Geheimnisse oder Zugangsdaten des KI-Anbieters im Client ab.

Informio Search

Fertige Suche per Skript einbinden

Das Skript stellt Suchfeld, Vorschläge und Ergebnisse dar und ruft die Informio-API selbst auf. Die einbindende Website benötigt kein eigenes Such-Backend.

  1. 1.Geben Sie die Website-Domain in den Assistenteneinstellungen frei. Aktivieren Sie Search, wählen Sie öffentliche Website-/XML-Quellen und speichern Sie.
  2. 2.Kopieren Sie den generierten Code aus der Verwaltung. Ersetzen Sie im Beispiel ASSISTANT_ID durch die öffentliche ID Ihres Assistenten.
  3. 3.Fügen Sie den Code in eine HTML-Vorlage oder einen HTML-Block ein, der Skripte erlaubt. Search startet beim Laden der Seite.
Informio Search entdecken
HTML
<div id="informio-search"></div>
<script src="https://informio.eu/search.js"
  data-assistant="ASSISTANT_ID"
  data-target="#informio-search" defer></script>

data-target ist ein CSS-Selektor für einen vorhandenen Container. Ohne dieses Attribut erscheint das Feld an der Skriptposition. Container-IDs müssen eindeutig sein. Nutzen Sie pro Suchfeld ein eigenes Skript und einen eigenen Container.

Lassen Sie den Container in React/Vue oder einer anderen SPA im dauerhaften Layout und laden Sie das Skript einmal nach seiner Erstellung mit document.createElement('script'). Über innerHTML eingefügte Skripte werden nicht ausgeführt. Für häufig wechselnde Komponenten nutzen Sie die API unten.

Darstellung und Ergebnisposition

Farbe, Design, Ecken und Sprache stammen vom Assistenten. Wählen Sie Inline- oder Dialogergebnisse und die optionale KI-Zusammenfassung. Shadow DOM trennt die Oberfläche vom CSS der Website.

Quellen und Links

Ausgewählte Website-/XML-Quellen benötigen öffentliche HTTP(S)-URLs. Eigenständige MD- und Dokumentquellen werden nicht unterstützt. Ergebnisse nutzen die zuletzt synchronisierten Daten.

Tarifverbrauch

Autocomplete ruft keine KI auf. Eine erfolgreiche bestätigte KI-Suche samt optionaler Zusammenfassung verbraucht eine Antwort der Organisation.

Eigene Oberfläche mit der Search-API

Diese API ist für eigene Oberflächen gedacht. Das fertige search.js übernimmt bereits alle Anfragen. Search benötigt weder session_id noch einen geheimen API-Schlüssel.

GET/api/search/{assistant}

Liefert Darstellung, Sprache, Anzeigemodus, Branding und lokalisierte Texte.

GET/api/search/{assistant}/suggest?q=wellness

Textvorschläge ohne KI, maximal 6 Treffer. Der erforderliche Parameter q umfasst 3–300 Zeichen.

POST/api/search/{assistant}/results

Der JSON-Body enthält q mit 3–300 Zeichen. Liefert maximal 24 Treffer sowie summary, mode und notice.

Senden Sie Accept: application/json und bei POST zusätzlich Content-Type: application/json. Der Browser sendet Origin automatisch; die Domain muss freigegeben sein. Accept-Language wählt bei automatischer Assistentensprache die Sprache. Verzögern Sie Vorschläge um 300 ms und brechen Sie veraltete Anfragen ab.

JavaScript
const assistantId = 'ASSISTANT_ID';
const query = 'wellness';
const response = await fetch(
  `https://informio.eu/api/search/${assistantId}/results`,
  {
    method: 'POST',
    credentials: 'omit',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
      'Accept-Language': document.documentElement.lang || 'en',
    },
    body: JSON.stringify({ q: query }),
  },
);
if (!response.ok) throw new Error(String(response.status));
const { results, summary, mode, notice } = await response.json();
const container = document.querySelector('#custom-search-results');
container.replaceChildren();
for (const item of results) {
  const url = new URL(item.url);
  if (!['https:', 'http:'].includes(url.protocol)
    || url.username || url.password) continue;
  const link = document.createElement('a');
  link.href = url.href;
  link.textContent = item.title;
  container.append(link);
}
JSON
{
  "results": [
    {
      "title": "Wellness und Öffnungszeiten",
      "url": "https://example.com/wellness",
      "type": "page",
      "excerpt": "Pool, Saunalandschaft und praktische Hinweise vor Ihrem Besuch.",
      "image_url": null,
      "price": null,
      "currency": null,
      "in_stock": null
    }
  ],
  "summary": null,
  "mode": "ai",
  "notice": null
}

results enthält Karten; type ist page, article, product, event oder profile. Bild, Preis, Währung und Lagerstatus können null sein. summary ist Text oder null; mode ist ai oder text; notice ist eine lokalisierte Meldung oder null. Maximal 24 Treffer, ohne Paginierung.

Das JavaScript-Beispiel erwartet den Container #custom-search-results und zeigt Links an. Nutzen Sie für Auszüge, summary und notice textContent statt innerHTML. Prüfen Sie HTTP(S)-URLs und laden Sie Bilder nur bei vorhandenem image_url.

Limits und Textmodus

Konfiguration und Vorschläge teilen sich 120 Anfragen pro Minute je Assistent/IP. Für Ergebnisse gelten 20 pro Minute je Assistent/IP. Beachten Sie bei 429 den Retry-After-Header.

Bei KI-Fehlern oder erreichtem Tariflimit kann HTTP 200 mit mode: text erscheinen, ohne Antwortverbrauch. Scheitert nur die Zusammenfassung, bleibt mode: ai, summary ist null und die Ergebnisse zählen als eine KI-Suche.

OpenAPI herunterladen

Fehlerantworten

403
Domain nicht freigegeben.
404
Assistent nicht gefunden, noch ein Entwurf oder Search deaktiviert.
422
Parameter q fehlt oder ist ungültig.
423
Assistent pausiert oder durch Qualitätsprüfung gesperrt.
429
Anfragelimit überschritten; nach Retry-After erneut versuchen.

Schnellstart

Erhalten Sie Ihre erste API-Antwort

Ersetzen Sie ASSISTANT_ID durch die öffentliche ID aus den Assistenten-Einstellungen. Senden Sie während der gesamten Unterhaltung dieselbe session_id.

Basis-URL

https://informio.eu/api
curl --request POST \
  --url https://informio.eu/api/widget/ASSISTANT_ID/messages \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Origin: https://example.com' \
  --data '{
    "session_id": "visitor-session-01JEXAMPLE1234567890",
    "message": "When are you open?"
  }'

API-Referenz

Öffentliche Widget-API

Stabile Endpunkte, die vom offiziellen Informio-Widget verwendet werden.

GET/widget/{assistant}

Assistentenkonfiguration

Gibt den Namen, das Erscheinungsbild, die Beschriftungen, die Verfügbarkeit der Operatoren und den vorhandenen Verlauf für eine Sitzung zurück.

POST/widget/{assistant}/messages

Nachricht senden

Sendet die Frage eines Besuchers und gibt eine Antwort, Produkte oder den aktuellen Human-Handoff-Status zurück.

GET/widget/{assistant}/sync

Chat synchronisieren

Lädt neue Operatornachrichten, den Übernahmestatus und den Abschluss der Unterhaltung, ohne die gesamte Oberfläche neu zu laden.

POST/widget/{assistant}/handoff

Einen Operator anfordern

Fordert das verfügbare Team auf, die Unterhaltung zu übernehmen, wenn Human Handoff für den Assistenten aktiviert ist.

POST/widget/{assistant}/page-view

Besuchernavigation verfolgen

Ordnet der Unterhaltung eine besuchte URL und einen Seitentitel zu, ohne Formularinhalte oder Query-Parameter.

POST/widget/{assistant}/end

Beenden und bewerten

Beendet die aktuelle Unterhaltung und speichert optional eine positive oder negative Besucherbewertung.

Empfohlener Ablauf

Eine Sitzung von Anfang bis Ende

Der Client benötigt nur eine öffentliche Assistenten-ID, einen zulässigen Origin und eine stabile session_id.

1

Die Konfiguration laden

Wenn der Chat geöffnet wird, rufen Sie sein Erscheinungsbild, seine Beschriftungen und den vorhandenen Verlauf der Sitzung ab.

2

Nachrichten senden

Senden Sie jede Frage mit derselben session_id und fügen Sie auf der Website die aktuelle Seite hinzu.

3

Synchronisiert bleiben

Laden Sie nach der Anforderung einer Person regelmäßig neue Nachrichten und den Operatorstatus.

Maschinenlesbarer Vertrag

Importieren Sie das OpenAPI-YAML in Postman oder Insomnia, oder verwenden Sie es, um in Ihrer bevorzugten Sprache einen Client zu generieren.

OpenAPI herunterladen

Möchten Sie Assistenten über eine API verwalten?

Der öffentliche Vertrag umfasst Chat, Widget und Search. Verwaltungs-APIs für Assistenten und Wissensquellen sind nicht öffentlich. Kontaktieren Sie info@informio.eu.

Verwandeln Sie Ihr Know-how in einen Assistenten, der rund um die Uhr antwortet.

Starten Sie ohne Zahlungskarte oder API-Schlüssel. Die standardmäßige Informio AI ist automatisch einsatzbereit, während Ihr eigenes OpenAI-Konto oder Ihr eigener AI-Server optional bleibt.

KOSTENLOSER Plan · 100 Antworten · keine Zahlungskarte