API chatbota to interfejs HTTP, który pozwala wysyłać wiadomości do chatbota AI i programowo odbierać odpowiedzi — bez użycia wizualnego widżetu. Zamiast użytkownika wpisującego tekst w dymek czatu, Twój kod wysyła żądanie, otrzymuje odpowiedź i coś z nią robi: renderuje niestandardowy interfejs, zapisuje odpowiedź w logach, uruchamia akcję albo przekazuje wynik do innego systemu.
Ten przewodnik omawia, czym jest API chatbota, kiedy wybrać je zamiast osadzonego widżetu, trzy główne metody połączenia (REST, Zapier i webhooki) oraz praktyczne wzorce budowania rzeczywistych integracji.
Czym jest API chatbota?
API chatbota udostępnia Twojego wytrenowanego chatbota AI jako usługę, którą dowolny kod może wywołać przez HTTP. Wysyłasz wiadomość użytkownika w treści żądania, a API zwraca odpowiedź chatbota — opartą na dowolnych źródłach (treść witryny, dokumenty, pary pytań i odpowiedzi), na których go wytrenowałeś.
Kluczowa różnica względem gotowego widżetu: API zwraca surowe dane. To Twoja aplikacja decyduje, jak je zaprezentować. Oznacza to, że możesz osadzić tego samego chatbota w aplikacji mobilnej, bocie na Slacku, wewnętrznym panelu i backendowym potoku automatyzacji — wszystkie korzystające z tej samej wytrenowanej bazy wiedzy.
Większość API chatbotów działa według podobnego schematu:
- Uwierzytelnij się — dołącz klucz API w nagłówku
Authorization. - Wyślij wiadomość metodą POST — prześlij tekst użytkownika, identyfikator chatbota oraz opcjonalnie identyfikator konwersacji dla kontekstu wieloetapowego.
- Obsłuż odpowiedź — sparsuj odpowiedź, opcjonalnie strumieniuj tokeny dla wrażenia czasu rzeczywistego, i zapisz
conversationIdna potrzeby kolejnej wiadomości.
Dla zespołów porównujących opcje chatbotów przed wyborem platformy, ten przegląd najlepszych chatbotów AI dla stron internetowych pokazuje, na co zwracać uwagę w poszczególnych narzędziach.
Kiedy używać API, a kiedy widżetu
Osadzony widżet obsługuje większość zastosowań na stronie internetowej. API jest właściwym wyborem, gdy potrzebujesz czegoś, czego widżet nie może zapewnić.
| Zastosowanie | Widżet | API |
|---|---|---|
| Dymek czatu na stronie | Tak | Niepotrzebne |
| Niestandardowo brandowany interfejs czatu | Ograniczone stylowanie | Pełna kontrola |
| Integracja z aplikacją mobilną | Obejście przez WebView | Natywne wywołania HTTP |
| Bot na Slacku lub Discordzie | Nie | Tak |
| Automatyzacja backendowa (bez UI) | Nie | Tak |
| Wyzwalacze wieloetapowych przepływów pracy | Nie | Tak, przez webhooki |
| Integracja z potokiem analitycznym | Nie | Tak |
| Narzędzia i panele wewnętrzne | Możliwe | Lepsze |
Jeśli Twoje zastosowanie mieści się w prawej kolumnie, API to właściwe narzędzie. Pełny zestaw opcji osadzania — widżet, komponent React, iframe i wtyczka WordPress — znajdziesz w przewodniku integracji chatbota.
Metody połączenia i dostępność w planach
Istnieją trzy sposoby połączenia chatbota z systemami zewnętrznymi. Służą różnym celom i są dostępne w różnych planach.
| Metoda połączenia | Co robi | Wymagany plan | Typowe zastosowanie |
|---|---|---|---|
| REST API | Wysyła wiadomości i odbiera odpowiedzi AI przez HTTP | Od Hobby ($29.99/mies.) | Niestandardowe interfejsy, aplikacje mobilne, automatyzacja backendowa |
| Integracja z Zapier | Łączy z ponad 7000 aplikacji bez kodu | Od Hobby ($29.99/mies.) | Synchronizacja z CRM, automatyzacja e-maili, przepływy pracy no-code |
| Webhooki | Wysyłają powiadomienia, gdy w rozmowach zachodzą określone zdarzenia | Od Hobby ($29.99/mies.) | Aktualizacje CRM, powiadomienia na Slacku, potoki analityczne |
REST API daje Ci najwięcej kontroli. Zapier konfiguruje się szybciej, jeśli nie potrzebujesz niestandardowego kodu. Webhooki uzupełniają oba rozwiązania — same wysyłają Ci dane, zamiast czekać, aż je pobierzesz.
Pełne zestawienie tego, co obejmuje każdy plan, znajdziesz w przewodniku po kosztach i cenach chatbotów.
Wymagania dla poszczególnych planów
| Plan | Cena miesięczna | REST API | Zapier | Webhooki | Limit wiadomości |
|---|---|---|---|---|---|
| Free | $0 | Nie | Nie | Nie | 50 wiadomości/mies. |
| Hobby | $29.99 | Tak | Tak | Tak | 2000 wiadomości |
| Standard | $119.99 | Tak | Tak | Tak | 12 000 wiadomości |
| Pro | $399.99 | Tak | Tak | Tak | 40 000 wiadomości |
Rozliczenie roczne obniża każdą cenę planu o około 20%. Wiadomości z API liczą się do Twojego miesięcznego limitu tak samo, jak wiadomości z widżetu.
Uwierzytelnianie
Każde żądanie API wymaga tokenu Bearer. Klucze API generujesz w ustawieniach obszaru roboczego w panelu Agentkit.
Generowanie klucza API
- Otwórz swój obszar roboczy Agentkit.
- Przejdź do Ustawienia, a następnie Klucze API.
- Kliknij Utwórz klucz API.
- Nadaj mu opisową nazwę (np. „Slack Bot Production”).
- Skopiuj klucz od razu. Nie zostanie ponownie wyświetlony.
Używanie klucza w żądaniach
Dołącz klucz API w nagłówku Authorization:
Authorization: Bearer ak_live_your_api_key_here
Wszystkie żądania muszą być wysyłane przez HTTPS. Żądania bez ważnego tokenu zwracają odpowiedź 401 Unauthorized.
Sprawdzone praktyki zarządzania kluczami
- Przechowuj klucze API w zmiennych środowiskowych, nigdy w kodzie po stronie klienta.
- Rotuj klucze okresowo, zwłaszcza po zmianach w zespole.
- Twórz osobne klucze dla osobnych integracji, dzięki czemu możesz unieważnić jeden bez wpływu na pozostałe.
- Usuwaj klucze, których już nie używasz.
Pełne informacje o uwierzytelnianiu znajdziesz w dokumentacji uwierzytelniania.
Punkt końcowy czatu
Sercem API jest pojedynczy punkt końcowy, który wysyła wiadomość użytkownika do Twojego chatbota i zwraca odpowiedź AI.
Żądanie
POST /api/v1/chat Content-Type: application/json Authorization: Bearer ak_live_your_api_key_here
Treść żądania:
{
"chatbotId": "your-chatbot-id",
"message": "What are your shipping options?",
"conversationId": "optional-conversation-id",
"visitorId": "optional-visitor-id",
"metadata": {
"page": "/products/shoes",
"userTier": "premium"
}
}
| Pole | Wymagane | Opis |
|---|---|---|
chatbotId | Tak | Identyfikator chatbota do odpytania |
message | Tak | Treść wiadomości użytkownika |
conversationId | Nie | Podaj istniejący identyfikator, aby kontynuować rozmowę. Pomiń, aby rozpocząć nową. |
visitorId | Nie | Unikalny identyfikator odwiedzającego, przydatny do śledzenia w wielu rozmowach |
metadata | Nie | Dowolne pary klucz-wartość dołączone do rozmowy na potrzeby analityki lub kierowania |
Odpowiedź
{
"id": "msg_abc123",
"conversationId": "conv_xyz789",
"message": "We offer three shipping options: Standard (5-7 business days, free over $50), Express (2-3 business days, $9.99), and Overnight ($24.99). All orders include tracking.",
"sources": [
{
"title": "Shipping Policy",
"url": "https://example.com/shipping"
}
],
"createdAt": "2026-02-22T14:30:00Z"
}
conversationId w odpowiedzi ma duże znaczenie. Zapisz go i przekaż z powrotem w kolejnych żądaniach, aby zachować kontekst rozmowy. Bez niego każda wiadomość rozpoczyna nową rozmowę, a chatbot traci wątek.
Odpowiedzi błędów
| Kod statusu | Znaczenie | Typowa przyczyna |
|---|---|---|
| 400 | Bad Request | Brakujące wymagane pola lub nieprawidłowy JSON |
| 401 | Unauthorized | Nieprawidłowy lub brakujący klucz API |
| 403 | Forbidden | Dostęp do API niedostępny w Twoim planie |
| 404 | Not Found | Nieprawidłowy identyfikator chatbota |
| 429 | Too Many Requests | Przekroczono limit żądań |
| 500 | Internal Server Error | Tymczasowy problem serwera, ponów próbę z opóźnieniem narastającym |
Pełną dokumentację punktów końcowych znajdziesz w dokumentacji API.
Odpowiedzi strumieniowe
Dla aplikacji czasu rzeczywistego, w których chcesz wyświetlać odpowiedź w miarę jej generowania (efekt maszyny do pisania, którego użytkownicy oczekują od czatu AI), użyj Server-Sent Events (SSE).
Dodaj parametr stream: true do swojego żądania:
{
"chatbotId": "your-chatbot-id",
"message": "Explain your return policy",
"conversationId": "conv_xyz789",
"stream": true
}
Odpowiedź przychodzi jako strumień zdarzeń SSE:
data: {"type": "token", "content": "Our"}
data: {"type": "token", "content": " return"}
data: {"type": "token", "content": " policy"}
data: {"type": "token", "content": " allows"}
...
data: {"type": "sources", "sources": [{"title": "Return Policy", "url": "https://example.com/returns"}]}
data: {"type": "done", "conversationId": "conv_xyz789", "messageId": "msg_def456"}
Obsługa strumienia w JavaScript
const response = await fetch('https://api.agentkit.com/api/v1/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ak_live_your_api_key_here'
},
body: JSON.stringify({
chatbotId: 'your-chatbot-id',
message: 'Explain your return policy',
stream: true
})
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
const lines = chunk.split('\n').filter(line => line.startsWith('data: '));
for (const line of lines) {
const data = JSON.parse(line.slice(6));
if (data.type === 'token') {
appendToUI(data.content);
}
}
}
Przesyłanie strumieniowe jest zalecane w każdej integracji skierowanej do użytkownika. Sprawia, że chatbot sprawia wrażenie szybszego nawet podczas generowania długich odpowiedzi.
Webhooki
O ile punkt końcowy czatu pozwala wysyłać wiadomości do chatbota, webhooki pozwalają chatbotowi wysyłać dane do Ciebie. Gdy zajdą określone zdarzenia, Agentkit wysyła żądanie HTTP POST na skonfigurowany przez Ciebie adres URL. Webhooki są dostępne od planu Hobby wzwyż.
Konfigurowanie webhooków
- Przejdź do Ustawień swojego obszaru roboczego, a następnie Webhooki.
- Wprowadź adres URL swojego punktu końcowego (musi być HTTPS).
- Wybierz zdarzenia, na które chcesz się zasubskrybować.
- Zapisz. Agentkit wyśle żądanie weryfikacyjne, aby potwierdzić, że Twój punkt końcowy jest dostępny.
Dostępne zdarzenia
| Zdarzenie | Wyzwalacz | Typowe zastosowanie |
|---|---|---|
conversation.started | Rozpoczyna się nowa rozmowa | Zapis do analityki |
conversation.completed | Rozmowa się kończy (przekroczenie czasu lub jawne zamknięcie) | Podsumowanie i archiwizacja |
message.received | Odwiedzający wysyła wiadomość | Monitorowanie w czasie rzeczywistym |
message.sent | Chatbot wysyła odpowiedź | Śledzenie jakości |
lead.captured | Odwiedzający przesyła formularz zbierania leadów | Wysyłka do CRM |
action.triggered | Uruchamia się niestandardowa akcja | Przekierowanie do właściwej obsługi |
Ładunek webhooka
Każde żądanie POST webhooka zawiera treść JSON o spójnej strukturze:
{
"event": "lead.captured",
"timestamp": "2026-02-22T15:45:00Z",
"chatbotId": "your-chatbot-id",
"conversationId": "conv_xyz789",
"data": {
"name": "Alex Chen",
"email": "[email protected]",
"message": "Interested in the enterprise plan"
},
"signature": "sha256=abc123..."
}
Zawsze weryfikuj pole signature względem swojego sekretu webhooka, aby potwierdzić, że żądanie pochodzi od Agentkit, a nie od strony trzeciej.
Zachowanie przy ponawianiu
Jeśli Twój punkt końcowy zwróci kod statusu inny niż 2xx, Agentkit ponawia próbę z narastającym opóźnieniem: po 1 minucie, 5 minutach, 30 minutach, a następnie przestaje. Nieudane próby dostarczenia są widoczne w dziennikach webhooków w Twoim panelu.
Typowe wzorce integracji
Wzorzec 1: bot na Slacku
Przekazuj pytania klientów z chatbota na stronie do kanału na Slacku i pozwól zespołowi odpowiadać, gdy AI nie potrafi.
- Utwórz aplikację Slack z włączonymi przychodzącymi webhookami.
- Skonfiguruj webhook Agentkit dla zdarzeń
conversation.completed. - W swojej funkcji obsługującej webhook sprawdź, czy rozmowa została rozwiązana, czy eskalowana.
- Jeśli została eskalowana, wyślij metodą POST sformatowaną wiadomość na adres URL webhooka Slacka wraz z transkrypcją rozmowy.
Daje to Twojemu zespołowi wsparcia widoczność bez konieczności monitorowania panelu Agentkit.
Wzorzec 2: niestandardowy interfejs czatu
Zastąp domyślny widżet interfejsem czatu wbudowanym w Twoją aplikację.
- Zbuduj swój interfejs czatu w preferowanym frameworku.
- Po wysłaniu wiadomości wywołaj punkt końcowy czatu z
stream: true. - Renderuj tokeny w miarę ich napływania, dla informacji zwrotnej w czasie rzeczywistym.
- Przechowuj
conversationIdw lokalnym stanie, aby zachować kontekst między wiadomościami.
To właściwe podejście dla aplikacji mobilnych, aplikacji desktopowych lub dowolnego produktu, w którym pływający widżet nie pasuje do designu. Dla zespołów, które chcą pozostać przy widżecie, ale potrzebują więcej kontroli nad jego umiejscowieniem, przewodnik po osadzaniu chatbota na Twojej stronie omawia wszystkie cztery opcje osadzania.
Wzorzec 3: automatyzacja backendowa
Wykorzystaj chatbota jako warstwę AI w większym przepływie pracy, bez żadnego interfejsu czatu.
Przykład: obsługa zgłoszeń wsparcia.
- Nowe zgłoszenie trafia do Twojego systemu ticketowego.
- Twój backend wysyła treść zgłoszenia do punktu końcowego czatu.
- Chatbot generuje sugerowaną odpowiedź na podstawie wytrenowanej bazy wiedzy.
- Twój system albo odpowiada automatycznie (przy wysokiej pewności), albo kolejkuje sugestię do przeglądu przez człowieka.
Ten wzorzec działa, ponieważ chatbot jest wytrenowany na tej samej bazie wiedzy, z której korzysta Twój zespół wsparcia. API daje Ci programowy dostęp do tej wiedzy. Więcej o tym, na czym możesz wytrenować chatbota — indeksowanie witryny, pliki PDF, CSV, pary pytań i odpowiedzi — znajdziesz w artykule jak wytrenować chatbota.
Wzorzec 4: potok analityczny
Rejestruj każdą rozmowę do analizy.
- Zasubskrybuj zdarzenia webhooka
message.receivedimessage.sent. - Twoja funkcja obsługująca webhook zapisuje zdarzenia do hurtowni danych (BigQuery, Snowflake itd.).
- Zbuduj panele pokazujące najczęstsze pytania, wskaźniki rozwiązanych spraw, godziny szczytu i trendy w rozmowach.
Pole metadanych w punkcie końcowym czatu pozwala dołączyć kontekst (adres URL strony, segment użytkownika, wariant testu A/B), który wzbogaca Twoją analitykę.
Ograniczanie liczby żądań
API egzekwuje ograniczenia liczby żądań, aby zapewnić niezawodność wszystkim użytkownikom.
| Plan | Żądania na minutę |
|---|---|
| Hobby | 60 |
| Standard | 120 |
| Pro | 300 |
Po przekroczeniu limitu API zwraca kod statusu 429 z nagłówkiem Retry-After, wskazującym, ile sekund odczekać. Wbuduj logikę ponawiania w swoją integrację:
async function sendMessage(payload, retries = 3) {
const response = await fetch(API_URL, {
method: 'POST',
headers: headers,
body: JSON.stringify(payload)
});
if (response.status === 429 && retries > 0) {
const retryAfter = parseInt(response.headers.get('Retry-After') || '5');
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
return sendMessage(payload, retries - 1);
}
return response.json();
}
Kwestie bezpieczeństwa
Budując integracje API, pamiętaj o tych praktykach:
- Nigdy nie ujawniaj kluczy API w kodzie po stronie klienta. Jeśli budujesz niestandardowy interfejs czatu dla aplikacji webowej, przekazuj żądania przez własny backend.
- Weryfikuj podpisy webhooków. Zawsze sprawdzaj podpis HMAC przed przetworzeniem ładunku webhooka.
- Korzystaj z ograniczeń domen. W ustawieniach chatbota ogranicz, które domeny mogą wchodzić w interakcję z Twoim chatbotem.
- Monitoruj użycie. Regularnie sprawdzaj użycie API w panelu, aby wychwycić nieoczekiwane skoki, które mogą wskazywać na wyciekły klucz.
- Stosuj zasadę najmniejszych uprawnień. Jeśli integracja ma tylko wysyłać wiadomości, nie nadawaj jej klucza z uprawnieniami administratora.
Dla zespołów badających, jak API chatbotów AI łączą się z większymi ekosystemami narzędzi, warto zrozumieć MCP (Model Context Protocol) — nowo powstający standard dający modelom AI ustrukturyzowany dostęp do zewnętrznych narzędzi i danych.
Pierwsze kroki
Najszybsza droga od zera do działającej integracji:
- Zarejestruj się w Agentkit i utwórz swojego pierwszego chatbota.
- Wytrenuj chatbota na swoich treściach (zobacz jak wytrenować chatbota).
- Przejdź na plan Hobby ($29.99/miesiąc), aby włączyć dostęp do API.
- Wygeneruj klucz API w ustawieniach obszaru roboczego.
- Wyślij swoje pierwsze testowe żądanie za pomocą cURL lub Postmana.
- Buduj dalej: niestandardowy interfejs, bota na Slacku, automatyzację — cokolwiek wymaga Twoje zastosowanie.
Najczęściej zadawane pytania
Czym jest klucz API chatbota?
Klucz API chatbota to tajny token, który uwierzytelnia Twoją aplikację przy wysyłaniu żądań do API chatbota. Generujesz go w ustawieniach obszaru roboczego, dołączasz do nagłówka Authorization: Bearer każdego żądania i traktujesz jak hasło — przechowujesz w zmiennych środowiskowych, nigdy w kodzie po stronie klienta, i rotujesz, jeśli podejrzewasz, że mógł wyciec. Każdy klucz można przypisać do konkretnej integracji, dzięki czemu możesz unieważnić jeden bez wpływu na pozostałe.
Czy istnieje darmowe API chatbota?
Plan Free Agentkit ($0/miesiąc) nie obejmuje dostępu do REST API — do tego wymagany jest plan Hobby za $29.99/miesiąc. Plan Free obejmuje osadzalny widżet JS, zbieranie leadów i ograniczenia domen, co pokrywa większość zastosowań na stronie internetowej bez żadnego kodu. Jeśli potrzebujesz programowego dostępu od pierwszego dnia, plan Hobby jest punktem wejścia, a całą platformę możesz przetestować za darmo przed przejściem na wyższy plan.
Czy trzeba umieć programować, żeby korzystać z API chatbota?
Nie zawsze. Jeśli potrzebujesz dostępu do REST API do niestandardowych integracji, musisz napisać kod — albo skorzystać z narzędzia takiego jak Postman, by testować wywołania ręcznie. Ale jeśli Twoim celem jest połączenie chatbota z innymi aplikacjami bez kodu, integracja z Zapier (dostępna od planu Hobby wzwyż) łączy z ponad 7000 aplikacji przez interfejs no-code. Do osadzenia na stronie internetowej nie potrzeba żadnego kodu poza wklejeniem tagu <script>.
Jakie modele AI obsługuje API chatbota?
Bazowy model AI jest konfigurowany dla każdego chatbota osobno w panelu. Agentkit obsługuje modele od trzech dostawców: OpenAI (GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna), Anthropic (Claude Opus 5, Claude Sonnet 5, Claude Haiku 4.5) i Google (Gemini 3.7 Flash, Gemini 3.1 Pro). Domyślnym modelem jest GPT-5.6 Luna. Twoje wywołania API korzystają z modelu wybranego dla danego chatbota — nie określasz modelu na poziomie samego wywołania API.
Czy mogę użyć API chatbota, żeby osadzić czat na swojej stronie?
Tak, ale do zastosowań na stronie internetowej zwykle prostszy jest widżet JS. Widżet ładuje się asynchronicznie przez pojedynczy tag <script> i automatycznie obsługuje interfejs, stan rozmowy oraz przesyłanie strumieniowe. Użyj API, gdy potrzebujesz w pełni niestandardowego interfejsu, integracji z aplikacją mobilną lub automatyzacji backendowej. Zestawienie wszystkich opcji osadzania obok siebie znajdziesz w przewodniku po osadzaniu chatbota na Twojej stronie.
API chatbota zamienia wytrenowaną bazę wiedzy w usługę, którą można wywołać — te same odpowiedzi AI, które pojawiają się w widżecie, są dostępne dla dowolnego systemu potrafiącego wykonać żądanie HTTP. Niezależnie od tego, czy budujesz niestandardowy interfejs, automatyzujesz proces wsparcia, czy łączysz swojego chatbota z szerszym ekosystemem narzędzi — API daje Ci kontrolę, jakiej gotowy widżet zapewnić nie może.
Zbuduj swojego chatbota za darmo → Karta kredytowa nie jest wymagana.


