SDK JavaScript
SDK JavaScript jest zalecaną ścieżką dla nowych integracji realizowanych przez programistów. Zbuduj własny interfejs czatu, a ChattyBox zajmie się wyszukiwaniem, cytowaniami, konwersacjami i skalowaniem. Jeśli potrzebujesz gotowego interfejsu bez kodu aplikacji, użyj w pełni obsługiwanego hostowanego widżetu.
Zanim zaczniesz
- Utwórz projekt i zindeksuj treści.
- Przetestuj reprezentatywne pytania w panelu.
- Otwórz kartę Embed projektu.
- Utwórz lub wybierz publiczny klucz API widżetu i skonfiguruj dozwolone źródła żądań.
- Skopiuj adres URL API widżetu wyświetlany wraz z fragmentem kodu osadzania.
Publiczne klucze API widżetu są przeznaczone do umieszczania w kodzie przeglądarki. Identyfikują projekt, ale nie są danymi uwierzytelniającymi do zarządzania nim. Ogranicz klucze przeglądarkowe do domen, które mogą wywoływać Twojego chatbota.
Instalacja
bun add @openstaticfish/chattybox
Pakiet jest klientem ESM dla współczesnych aplikacji Node.js i aplikacji przeglądarkowych udostępniających fetch.
Wysyłanie wiadomości
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);
Ustaw PUBLIC_CHATTYBOX_API_URL na dokładny adres URL API widżetu z karty Embed. SDK akceptuje zarówno główny adres wdrożenia, jak i adres URL zakończony /chat.
Odpowiedź zawiera:
| Pole | Typ | Opis |
|---|---|---|
message | string | Wygenerowana odpowiedź. |
conversationId | string | Identyfikator używany do kontynuowania tej konwersacji. |
sources | string[] | Adresy URL źródeł pobranych na potrzeby odpowiedzi. |
Kontynuowanie konwersacji
Zachowaj zwrócony identyfikator konwersacji w stanie interfejsu i wyślij go z następną wiadomością:
const followUp = await chattybox.sendMessage({
message: 'Can you explain the second step?',
conversationId: answer.conversationId,
});
Nie używaj jednego identyfikatora konwersacji dla niezwiązanych ze sobą odwiedzających. Utwórz nową konwersację, pomijając conversationId w ich pierwszej wiadomości.
Obsługa błędów
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 zawiera status HTTP. Właściwość code jest obecna, gdy API zwraca ustrukturyzowany kod błędu.
Zaawansowana zgodność z widżetem
SDK udostępnia również getWidgetConfig() i getWidgetTranslations(locale). Te metody są przeznaczone dla klientów, którzy chcą odwzorować ustawienia projektu i zlokalizowane etykiety hostowanego widżetu. W pełni niestandardowy interfejs może je pominąć.
Następne kroki
- Wolisz utrzymywany interfejs niewymagający kompilacji? Zainstaluj
widget.js. - Dostosuj hostowany interfejs w sekcji Dostosowywanie hostowanego widżetu.
- Przed uruchomieniem przetestuj ograniczenia źródeł żądań, odpowiedzi zastępcze, cytowania i działanie na urządzeniach mobilnych, korzystając z listy kontrolnej uruchomienia.