API-integration
Skicka data programmässigt till din AI SmartTalk kunskapsbas med vår REST API. Idealisk för anpassade integrationer, automatiserade pipeliner och alla datakällor som inte täcks av våra inbyggda anslutningar.
Översikt
API-integrationen gör att du kan:
- Skicka dokument direkt till din kunskapsbas
- Uppdatera innehåll programmässigt
- Ta bort föråldrade poster
- Bygga anpassade datakällor
- Integrera med vilket system som helst som kan göra HTTP-förfrågningar
Förutsättningar
Innan du börjar, se till att du har:
- Ett aktivt AI SmartTalk-konto
- API-åtkomst aktiverad (kontrollera din plan)
- Grundläggande kunskaper om REST APIs
- Ett verktyg för att göra HTTP-förfrågningar (curl, Postman eller din applikationskod)
Hämta dina API-uppgifter
Steg 1: Åtkomst till API-inställningar
- Logga in på ditt AI SmartTalk-konto
- Navigera till Inställningar → Integrationer
- Hitta API och klicka på Konfigurera
Steg 2: Generera API-token
- Klicka på Generera ny token
- Kopiera din Chat Model ID och API-token
- Förvara dessa säkert—token visas endast en gång!
⚠️ Säkerhetsvarning: Exponera aldrig din API-token i klientkod eller offentliga arkiv.
API-slutpunkter
Bas-URL
https://api.aismarttalk.tech/v1
Autentisering
Alla förfrågningar kräver din API-token i headern:
Authorization: Bearer YOUR_API_TOKEN
API Endpoints
Bas-URL
https://api.aismarttalk.tech/v1
Autentisering
Alla förfrågningar kräver din API-token i headern:
Authorization: Bearer YOUR_API_TOKEN
Importera Dokument
Endpoint
POST /documents/import
Begärningsinnehåll
{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Produktdokumentation",
"content": "Fullständigt innehåll av ditt dokument går här...",
"url": "https://example.com/docs/product",
"metadata": {
"category": "dokumentation",
"language": "en"
}
}
]
}
Parametrar
| Fält | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
chatModelId | string | ✅ | Din unika identifierare för chattmodellen |
documents | array | ✅ | Array av dokumentobjekt |
documents[].title | string | ✅ | Dokumenttitel för identifiering |
documents[].content | string | ✅ | Fullständig textinnehåll |
documents[].url | string | ❌ | Käll-URL (för referens) |
documents[].metadata | object | ❌ | Anpassade nyckel-värde-par |
Svar
{
"success": true,
"imported": 1,
"documents": [
{
"id": "doc_abc123",
"title": "Produktdokumentation",
"status": "bearbetas"
}
]
}
Exempel: cURL
curl -X POST https://api.aismarttalk.tech/v1/documents/import \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Kom igång-guide",
"content": "Välkommen till vår plattform. Här är hur du kommer igång...",
"url": "https://docs.example.com/getting-started"
}
]
}'
Fråga Dokument
Ställ frågor mot din kunskapsbas programmässigt.
Endpoint
POST /chat/query
Begärningsinnehåll
{
"chatModelId": "your-chat-model-id",
"query": "Hur återställer jag mitt lösenord?",
"options": {
"maxTokens": 500,
"temperature": 0.7
}
}
Svar
{
"success": true,
"response": "För att återställa ditt lösenord, navigera till Inställningar > Säkerhet > Ändra lösenord...",
"sources": [
{
"documentId": "doc_abc123",
"title": "Säkerhetsguide",
"relevance": 0.95
}
]
}
Hämta Dokument
Hämta dokument som matchar en fråga (utan AI-svar).
Endpoint
POST /documents/search
Begärningsinnehåll
{
"chatModelId": "your-chat-model-id",
"query": "lösenordssäkerhet",
"limit": 10
}
Svar
{
"success": true,
"documents": [
{
"id": "doc_abc123",
"title": "Bästa praxis för säkerhet",
"content": "...",
"relevance": 0.92
}
]
}
Kodexempel
Python
import requests
API_TOKEN = "your-api-token"
CHAT_MODEL_ID = "your-chat-model-id"
def import_document(title: str, content: str, url: str = None):
response = requests.post(
"https://api.aismarttalk.tech/v1/documents/import",
headers={
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
},
json={
"chatModelId": CHAT_MODEL_ID,
"documents": [{
"title": title,
"content": content,
"url": url
}]
}
)
return response.json()
# Importera ett dokument
result = import_document(
title="FAQ: Frakt",
content="Vi erbjuder gratis frakt på beställningar över $50...",
url="https://shop.example.com/faq/shipping"
)
print(result)
JavaScript / Node.js
const API_TOKEN = 'your-api-token';
const CHAT_MODEL_ID = 'your-chat-model-id';
async function importDocument(title, content, url = null) {
const response = await fetch('https://api.aismarttalk.tech/v1/documents/import', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
chatModelId: CHAT_MODEL_ID,
documents: [{
title,
content,
url
}]
})
});
return response.json();
}
// Importera ett dokument
importDocument(
'FAQ: Returer',
'Du kan returnera varor inom 30 dagar efter köp...',
'https://shop.example.com/faq/returns'
).then(console.log);
PHP
<?php
$apiToken = 'your-api-token';
$chatModelId = 'your-chat-model-id';
$data = [
'chatModelId' => $chatModelId,
'documents' => [
[
'title' => 'Produkt Specifikationer',
'content' => 'Vår widget har följande specifikationer...',
'url' => 'https://example.com/products/widget'
]
]
];
$ch = curl_init('https://api.aismarttalk.tech/v1/documents/import');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
Användningsfall
Anpassad CMS-integration
Synkronisera innehåll från ett proprietärt CMS:
- Koppla in CMS publiceringshändelser
- Skicka nytt/uppdaterat innehåll till AI SmartTalk
- Ta bort raderat innehåll
Datapipeline
Importera från datalager:
- Exportera relevant data till JSON
- Batch-import via API
- Schemalägg regelbundna uppdateringar
E-handelsprodukter
Synkronisera produktdata från anpassade system:
- Produktbeskrivningar
- Specifikationer
- Prisinformation
Interna system
Anslut interna verktyg som inte stöds nativt:
- Anpassade wikis
- Arvdatabaser
- Proprietära applikationer
Rate Limits
| Endpoint | Rate Limit |
|---|---|
| Document Import | 100 requests/minute |
| Query | 60 requests/minute |
| Search | 60 requests/minute |
Notera: Rate limits varierar beroende på plan. Kontakta supporten för högre gränser.
Error Handling
Error Response Format
{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "The provided API token is invalid or expired"
}
}
Common Error Codes
| Code | Description | Solution |
|---|---|---|
INVALID_TOKEN | Ogiltig eller utgången token | Regenerera API-token |
INVALID_MODEL_ID | Okänd chattmodell-ID | Kontrollera din chattmodell-ID |
RATE_LIMITED | För många förfrågningar | Implementera backoff, försök senare |
INVALID_REQUEST | Felaktig begäran | Kontrollera JSON-strukturen |
DOCUMENT_TOO_LARGE | Innehållet överskrider gränsen | Dela upp i mindre dokument |
QUOTA_EXCEEDED | Planens gränser nådda | Uppgradera eller kontakta supporten |
Troubleshooting
Authentication Fails
| Issue | Solution |
|---|---|
| 401 Unauthorized | Kontrollera att token är korrekt och aktiv |
| Token fungerar inte | Regenerera token i inställningarna |
| Utgången token | Tokens går inte ut, men kan återkallas |
Import Issues
| Issue | Solution |
|---|---|
| Tomt svar | Kontrollera att Content-Type är application/json |
| Dokument visas inte | Vänta på bearbetning; kontrollera Kunskapsavsnittet |
| Partiell import | Vissa dokument kan ha valideringsfel |
Performance Issues
| Issue | Solution |
|---|---|
| Långsamma importer | Batcha dokument (max 100 per begäran) |
| Timeout | Minska batchstorleken, försök igen med backoff |
| Rate limited | Implementera exponentiell backoff |
Best Practices
- Batch-importer: Skicka flera dokument per begäran (upp till 100)
- Unika titlar: Använd beskrivande, unika titlar för varje dokument
- Strukturerat innehåll: Välformaterat innehåll förbättrar AI-svar
- Metadata-tagging: Använd metadata för kategorisering och filtrering
- Säkra tokens: Lagra tokens i miljövariabler
- Hantera fel: Implementera retry-logik med exponentiell backoff
- Övervaka användning: Spåra API-anrop mot dina plangränser
Related Documentation
- Integrations Overview
- Full API Documentation
- Knowledge Base Management
- SmartFlow Webhooks — Ta emot händelser