API-integration
Skicka data programatiskt till din AI SmartTalk kunskapsbas med vår REST API. Idealisk för anpassade integrationer, automatiserade pipelines 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 programatiskt
- Ta bort föråldrade poster
- Bygga anpassade datapipelines
- 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 klientsidekod 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
Importera dokument
Slutpunkt
POST /documents/import
Begärningskropp
{
"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": "documentation",
"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": "processing"
}
]
}
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 programatiskt.
Slutpunkt
POST /chat/query
Begärningskropp
{
"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).
Slutpunkt
POST /documents/search
Begärningskropp
{
"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' => 'Produktspecifikationer',
'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
- Batchimport 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 inbyggt:
- Anpassade wikis
- Arvdatabaser
- Proprietära applikationer
Hastighetsgränser
| Slutpunkt | Hastighetsgräns |
|---|---|
| Dokumentimport | 100 förfrågningar/minut |
| Fråga | 60 förfrågningar/minut |
| Sök | 60 förfrågningar/minut |
Observera: Hastighetsgränser varierar beroende på plan. Kontakta supporten för högre gränser.
Felhantering
Felresponsformat
{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "Den angivna API-token är ogiltig eller har gått ut"
}
}
Vanliga felkoder
| Kod | Beskrivning | Lösning |
|---|---|---|
INVALID_TOKEN | Ogiltig eller utgången token | Återskapa 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 kropp | 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 support |
Felsökning
Autentisering misslyckas
| Problem | Lösning |
|---|---|
| 401 Unauthorized | Kontrollera att token är korrekt och aktiv |
| Token fungerar inte | Återskapa token i inställningar |
| Utgången token | Tokens går inte ut, men kan återkallas |
Importproblem
| Problem | Lösning |
|---|---|
| Tom respons | Kontrollera att Content-Type är application/json |
| Dokument visas inte | Vänta på bearbetning; kontrollera kunskapssektionen |
| Partiell import | Vissa dokument kan ha valideringsfel |
Prestandaproblem
| Problem | Lösning |
|---|---|
| Långsamma importer | Batcha dokument (max 100 per begäran) |
| Tidsgränser | Minska batchstorleken, försök igen med backoff |
| Rate limited | Implementera exponentiell backoff |
Bästa praxis
- 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
Relaterad dokumentation
- Integrationsöversikt
- Fullständig API-dokumentation
- Kunskapsbashantering
- SmartFlow Webhooks — Ta emot händelser