JavaScript SDK
JavaScript SDK je doporučenou cestou pro nové integrace vedené vývojáři. Vytvořte si vlastní chatovací prostředí, zatímco ChattyBox zajistí vyhledávání, citace, konverzace a škálování. Pokud chcete hotové uživatelské rozhraní bez aplikačního kódu, použijte plně podporovaný hostovaný widget.
Než začnete
- Vytvořte projekt a indexujte svůj obsah.
- Otestujte v ovládacím panelu typické otázky.
- Otevřete v projektu kartu Vložit.
- Vytvořte nebo vyberte veřejný API klíč widgetu a nastavte jeho povolené zdroje.
- Zkopírujte adresu URL API widgetu zobrazenou spolu s kódem pro vložení.
Veřejné API klíče widgetu jsou určené k použití v kódu prohlížeče. Identifikují projekt, ale nejsou přihlašovacími údaji pro jeho správu. Omezte klíče prohlížeče na domény, které smějí volat vašeho chatbota.
Instalace
bun add @openstaticfish/chattybox
Balíček je klient ESM pro současné aplikace Node.js a prohlížeče, které poskytují funkci fetch.
Odeslání zprávy
import { Chattybox } from '@openstaticfish/chattybox';
const chattybox = new Chattybox({
apiKey: import.meta.env.PUBLIC_CHATTYBOX_API_KEY,
baseUrl: import.meta.env.PUBLIC_CHATTYBOX_API_URL,
});
const answer = await chattybox.sendMessage({
message: 'How do I get started?',
});
console.log(answer.message);
console.log(answer.sources);
Nastavte PUBLIC_CHATTYBOX_API_URL na přesnou adresu URL API widgetu z karty Vložit. SDK přijímá kořenovou adresu nasazení i adresu URL končící na /chat.
Odpověď obsahuje:
| Pole | Typ | Popis |
|---|---|---|
message | string | Vygenerovaná odpověď. |
conversationId | string | Identifikátor používaný k pokračování této konverzace. |
sources | string[] | Adresy URL zdrojů vyhledaných pro odpověď. |
Pokračování konverzace
Uchovejte vrácené ID konverzace ve stavu uživatelského rozhraní a odešlete ho s další zprávou:
const followUp = await chattybox.sendMessage({
message: 'Can you explain the second step?',
conversationId: answer.conversationId,
});
Nepoužívejte jedno ID konverzace pro vzájemně nesouvisející návštěvníky. Novou konverzaci vytvoříte tak, že v jejich první zprávě vynecháte conversationId.
Zpracování chyb
import { Chattybox, ChattyboxError } from '@openstaticfish/chattybox';
try {
await chattybox.sendMessage({ message: 'Where is the API reference?' });
} catch (error) {
if (error instanceof ChattyboxError) {
console.error(error.status, error.code, error.message);
}
}
ChattyboxError.status obsahuje stav HTTP. code je k dispozici, pokud API vrátí strukturovaný kód chyby.
Pokročilá kompatibilita s widgetem
SDK také zpřístupňuje metody getWidgetConfig() a getWidgetTranslations(locale). Tyto metody slouží klientům, kteří chtějí napodobit nastavení projektu a lokalizované popisky hostovaného widgetu. Plně vlastní uživatelské rozhraní je může ignorovat.
Další kroky
- Dáváte přednost spravovanému uživatelskému rozhraní bez nutnosti vývoje? Nainstalujte
widget.js. - Přizpůsobte hostované uživatelské rozhraní v části Přizpůsobení hostovaného widgetu.
- Před spuštěním otestujte omezení zdrojů, záložní odpovědi, citace a chování na mobilních zařízeních pomocí kontrolního seznamu spuštění.