REST API-referens för Quickchat AI-plattformen — autentisering, bas-URL, hastighetsbegränsningar, paginering och felhantering.
Quickchat AI tillhandahåller ett REST API för programmatisk åtkomst till din AI Agents konfiguration, Knowledge Base, konversationer, AI Actions med mera.
Autentisering
Section titled “Autentisering”Alla API-endpoints använder Bearer-tokenautentisering. Inkludera din API-token i Authorization-headern i varje request:
Authorization: Bearer <API_TOKEN>Tokens skapas i Quickchat Dashboard under External Apps > API. Varje token är en JWT som innehåller ditt scenario_id, så ingen ytterligare identifieringsheader behövs.
- Tokens giltighet: 52 veckor från skapandet
- Tokens kan återkallas när som helst från Dashboard
- Varje token är kopplad till en enda AI Agent (scenario)
- Att skapa tokens kräver Business-planen eller högre; på lägre planer är alternativet inaktiverat och endpointen returnerar
402 Payment Required
Token Scopes
Section titled “Token Scopes”API-tokens skapas med ett av två scopes:
| Scope | Access Level | Description |
|---|---|---|
read_all | Read-only | Kan läsa alla resurser men kan inte skapa, uppdatera eller ta bort |
write_all | Read + Write | Fullständig åtkomst till alla endpoints, inklusive skrivoperationer |
- Tokens tilldelas ett scope när de skapas i Dashboard under External Apps > API
- Scopet
write_allinkluderar automatiskt allaread_all-behörigheter - Att använda en
read_all-token på en skriv-endpoint returnerar403med"Insufficient token scope. Required: write_all"
Scope-krav per endpointgrupp:
| Endpoint Group | Read Operations | Write Operations |
|---|---|---|
| Chatbot Settings | read_all | write_all |
| Knowledge Base Settings | read_all | write_all |
| Articles | read_all | write_all |
| Article Language URLs | read_all | write_all |
| Tags | read_all | — |
| File Upload | — | write_all |
| Import External Content | — | write_all |
| Intercom Knowledge Base | read_all | write_all |
| Widget Configuration | read_all | write_all |
| Conversations | read_all | — |
| Conversation Metadata | read_all | write_all |
| Handoff Configuration | read_all | write_all |
| Conversation Rating | read_all | write_all |
| AI Actions | read_all | write_all |
Bas-URL
Section titled “Bas-URL”| Endpoint Group | Base URL |
|---|---|
| Knowledge Base, AI Actions, File Upload, Import, Chatbot Settings, Widget, Handoff, Conversation Rating | https://app.quickchat.ai/v1/api/ |
| Conversations | https://app.quickchat.ai/v1/api_core/ |
| Realtime Chat | https://app.quickchat.ai/chat |
Hastighetsbegränsningar
Section titled “Hastighetsbegränsningar”Hastighetsbegränsningar tillämpas per token och per endpoint.
| Tier | Limit | Applies To |
|---|---|---|
| READ | 120 requests/min | GET- och listoperationer |
| WRITE | 60 requests/min | POST, PATCH, PUT, DELETE |
| HEAVY | 20 requests/min | Filuppladdningar, importer, skrapning |
När en hastighetsbegränsning överskrids returnerar API:et HTTP 429 Too Many Requests.
Webhooks
Section titled “Webhooks”Quickchat AI skickar inga utgående webhooks. Det går inte att prenumerera på en händelse och få oss att göra en POST till din endpoint när ett meddelande kommer in, en konversation lämnas över eller en konversation stängs.
För att få ut data medan saker händer, använd något av följande i stället:
- AI Actions: AI:n anropar ditt API mitt i konversationen. Det här är det närmaste en webhook du kommer, och det är push, inte polling: din endpoint anropas medan konversationen pågår. Den utlöses när AI:n bedömer att åtgärden är tillämplig, så den passar bättre för “berätta för mitt system om den här leaden” än för “berätta för mitt system om varje meddelande”.
- Google Sheets: lägg till en rad per händelse utan att bygga någon endpoint.
- Polla Conversations-API:et: för en fullständig historik. Tänk på READ-gränsen ovan.
API-åtkomst kräver planen Business, se Planer och gränser.
Paginering
Section titled “Paginering”Listendpoints stöder paginering via query-parametrar:
| Parameter | Description |
|---|---|
limit integer | Antal objekt per sida |
offset integer | Antal objekt att hoppa över |
Paginerade svar följer denna struktur:
{ "items": [], "offset": 0, "limit": 10, "count": 100}Felhantering
Section titled “Felhantering”Alla fel returneras som JSON i följande format:
{ "errors": { "root": [ { "message": "Description of the error", "code": "ERROR_CODE" } ] }}| Status | Code | Description |
|---|---|---|
| 400 | BAD_REQUEST | Ogiltig indata eller saknade obligatoriska fält |
| 401 | PERMISSION_DENIED | Ogiltig, utgången eller återkallad token |
| 402 | PAYMENT_REQUIRED | Aktiv prenumeration krävs |
| 403 | PERMISSION_DENIED | Token saknar det scope som krävs för denna operation |
| 404 | NOT_FOUND | Resursen hittades inte |
| 409 | CONFLICT | Konfliktande operation (t.ex. samtidig ändring) |
| 422 | VALIDATION_ERROR | Request-bodyn klarade inte schemavalideringen |
| 429 | TOO_MANY_REQUESTS | Hastighetsbegränsning överskriden |
| 500 | UNKNOWN | Internt serverfel |
| 503 | SERVICE_UNAVAILABLE | Tillfällig otillgänglighet |