Przejdź do głównej zawartości

Dokumentacja REST API platformy Quickchat AI — uwierzytelnianie, bazowy URL, limity zapytań, paginacja i obsługa błędów.

Quickchat AI udostępnia REST API zapewniające programistyczny dostęp do konfiguracji Twojego AI Agenta, Bazy Wiedzy, Rozmów, AI Actions i innych funkcji.

Wszystkie endpointy API korzystają z uwierzytelniania za pomocą Bearer tokena. Dołącz swój token API w nagłówku Authorization każdego żądania:

Authorization: Bearer <API_TOKEN>

Tokeny tworzy się w Dashboardzie Quickchat w sekcji External Apps > API. Każdy token to JWT zawierający Twoje scenario_id, więc dodatkowy nagłówek identyfikujący nie jest potrzebny.

  • Ważność tokena: 52 tygodnie od utworzenia
  • Tokeny można odwołać w dowolnym momencie z Dashboardu
  • Każdy token jest przypisany do jednego AI Agenta (scenariusza)
  • Tworzenie tokenów wymaga planu Business lub wyższego; w niższych planach opcja jest wyłączona, a endpoint zwraca 402 Payment Required

Tokeny API są tworzone z jednym z dwóch scope’ów:

ScopeAccess LevelDescription
read_allRead-onlyMoże odczytywać wszystkie zasoby, ale nie może tworzyć, aktualizować ani usuwać
write_allRead + WritePełny dostęp do wszystkich endpointów, w tym operacji zapisu
  • Scope jest przypisywany do tokena podczas tworzenia w Dashboardzie w sekcji External Apps > API
  • Scope write_all automatycznie obejmuje wszystkie uprawnienia read_all
  • Użycie tokena read_all na endpoincie zapisu zwraca 403 z "Insufficient token scope. Required: write_all"

Wymagania scope’ów według grup endpointów:

Endpoint GroupRead OperationsWrite Operations
Chatbot Settingsread_allwrite_all
Knowledge Base Settingsread_allwrite_all
Articlesread_allwrite_all
Article Language URLsread_allwrite_all
Tagsread_all
File Uploadwrite_all
Import External Contentwrite_all
Intercom Knowledge Baseread_allwrite_all
Widget Configurationread_allwrite_all
Conversationsread_all
Conversation Metadataread_allwrite_all
Handoff Configurationread_allwrite_all
Conversation Ratingread_allwrite_all
AI Actionsread_allwrite_all
Endpoint GroupBase URL
Knowledge Base, AI Actions, File Upload, Import, Chatbot Settings, Widget, Handoff, Conversation Ratinghttps://app.quickchat.ai/v1/api/
Conversationshttps://app.quickchat.ai/v1/api_core/
Realtime Chathttps://app.quickchat.ai/chat

Limity zapytań są stosowane per token, per endpoint.

TierLimitApplies To
READ120 requests/minOperacje GET i listowania
WRITE60 requests/minPOST, PATCH, PUT, DELETE
HEAVY20 requests/minPrzesyłanie plików, importy, scrapowanie

Po przekroczeniu limitu zapytań API zwraca HTTP 429 Too Many Requests.

Quickchat AI nie wysyła webhooków wychodzących. Nie ma możliwości zasubskrybowania zdarzenia, abyśmy wysyłali POST na Twój endpoint, gdy przychodzi wiadomość, rozmowa zostaje przekazana człowiekowi albo zostaje zamknięta.

Aby otrzymywać dane na bieżąco, skorzystaj z jednej z tych opcji:

  • AI Actions: AI wywołuje Twoje API w trakcie rozmowy. To najbliższy odpowiednik webhooka i działa w modelu push, a nie odpytywania: Twój endpoint jest wywoływany, gdy rozmowa trwa. Uruchamia się wtedy, gdy AI uzna, że dana akcja ma zastosowanie, więc lepiej sprawdza się przy „powiadom mój system o tym leadzie” niż przy „powiadom mój system o każdej wiadomości”.
  • Google Sheets: dopisuj wiersz na każde zdarzenie bez budowania endpointu.
  • Odpytywanie API Conversations: po pełny zapis. Pamiętaj o limicie READ powyżej.

Dostęp do API wymaga planu Business; zobacz Plany i limity.

Endpointy listujące obsługują paginację za pomocą parametrów zapytania:

ParameterDescription
limit
integer
Liczba elementów na stronę
offset
integer
Liczba elementów do pominięcia

Odpowiedzi z paginacją mają następującą strukturę:

{
"items": [],
"offset": 0,
"limit": 10,
"count": 100
}

Wszystkie błędy są zwracane jako JSON w następującym formacie:

{
"errors": {
"root": [
{
"message": "Description of the error",
"code": "ERROR_CODE"
}
]
}
}
StatusCodeDescription
400BAD_REQUESTNieprawidłowe dane wejściowe lub brakujące wymagane pola
401PERMISSION_DENIEDNieprawidłowy, wygasły lub odwołany token
402PAYMENT_REQUIREDWymagana aktywna subskrypcja
403PERMISSION_DENIEDToken nie ma wymaganego scope’a dla tej operacji
404NOT_FOUNDZasób nie znaleziony
409CONFLICTKonflikt operacji (np. równoległa modyfikacja)
422VALIDATION_ERRORBody żądania nie przeszło walidacji schematu
429TOO_MANY_REQUESTSPrzekroczono limit zapytań
500UNKNOWNWewnętrzny błąd serwera
503SERVICE_UNAVAILABLETymczasowa niedostępność

Ostatnia aktualizacja: