API-integrasjon
Push data programmatisk til din AI SmartTalk kunnskapsbase ved hjelp av vårt REST API. Ideelt for tilpassede integrasjoner, automatiserte pipelines og enhver datakilde som ikke dekkes av våre innebygde koblinger.
Oversikt
API-integrasjonen gjør det mulig for deg å:
- Push dokumenter direkte til din kunnskapsbase
- Oppdatere innhold programmatisk
- Slette utdaterte oppføringer
- Bygge tilpassede datapipelines
- Integrere med ethvert system som kan gjøre HTTP-forespørsel
Forutsetninger
Før du begynner, må du sørge for at du har:
- En aktiv AI SmartTalk-konto
- API-tilgang aktivert (sjekk planen din)
- Grunnleggende kunnskap om REST API-er
- Et verktøy for å gjøre HTTP-forespørsel (curl, Postman, eller din applikasjonskode)
Få API-legitimasjonen din
Trinn 1: Tilgang til API-innstillinger
- Logg inn på din AI SmartTalk-konto
- Naviger til Innstillinger → Integrasjoner
- Finn API og klikk Konfigurer
Trinn 2: Generere API-token
- Klikk Generer nytt token
- Kopier din Chat Model ID og API-token
- Oppbevar disse sikkert—tokenet vises kun én gang!
⚠️ Sikkerhetsadvarsel: Aldri eksponer API-tokenet ditt i klientkode eller offentlige repositorier.
API-endepunkter
Grunnleggende URL
https://api.aismarttalk.tech/v1
Autentisering
Alle forespørsel krever API-tokenet ditt i headeren:
Authorization: Bearer YOUR_API_TOKEN
API Endepunkter
Basis-URL
https://api.aismarttalk.tech/v1
Autentisering
Alle forespørselene krever din API-token i headeren:
Authorization: Bearer YOUR_API_TOKEN
Importer Dokumenter
Endepunkt
POST /documents/import
Forespørsel Body
{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Produktdokumentasjon",
"content": "Fullstendig innhold av dokumentet ditt går her...",
"url": "https://example.com/docs/product",
"metadata": {
"category": "dokumentasjon",
"language": "en"
}
}
]
}
Parametere
| Felt | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
chatModelId | string | ✅ | Din unike chat-modellidentifikator |
documents | array | ✅ | Array av dokumentobjekter |
documents[].title | string | ✅ | Dokumenttittel for identifikasjon |
documents[].content | string | ✅ | Full tekstinnhold |
documents[].url | string | ❌ | Kilde-URL (for referanse) |
documents[].metadata | object | ❌ | Egendefinerte nøkkel-verdi-par |
Respons
{
"success": true,
"imported": 1,
"documents": [
{
"id": "doc_abc123",
"title": "Produktdokumentasjon",
"status": "behandler"
}
]
}
Eksempel: 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 i gang-guide",
"content": "Velkommen til vår plattform. Her er hvordan du kommer i gang...",
"url": "https://docs.example.com/getting-started"
}
]
}'
Spør Dokumenter
Still spørsmål mot kunnskapsbasen din programmessig.
Endepunkt
POST /chat/query
Forespørsel Body
{
"chatModelId": "your-chat-model-id",
"query": "Hvordan tilbakestiller jeg passordet mitt?",
"options": {
"maxTokens": 500,
"temperature": 0.7
}
}
Respons
{
"success": true,
"response": "For å tilbakestille passordet ditt, gå til Innstillinger > Sikkerhet > Endre passord...",
"sources": [
{
"documentId": "doc_abc123",
"title": "Sikkerhetsguide",
"relevance": 0.95
}
]
}
Hent Dokumenter
Få dokumenter som matcher en forespørsel (uten AI-respons).
Endepunkt
POST /documents/search
Forespørsel Body
{
"chatModelId": "your-chat-model-id",
"query": "passord sikkerhet",
"limit": 10
}
Respons
{
"success": true,
"documents": [
{
"id": "doc_abc123",
"title": "Beste praksis for sikkerhet",
"content": "...",
"relevance": 0.92
}
]
}
Kodeeksempler
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()
# Importer et dokument
result = import_document(
title="FAQ: Frakt",
content="Vi tilbyr gratis frakt på bestillinger over $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();
}
// Importer et dokument
importDocument(
'FAQ: Returer',
'Du kan returnere varer innen 30 dager etter kjø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' => 'Produktspesifikasjoner',
'content' => 'Vår widget har følgende spesifikasjoner...',
'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));
Bruksområder
Tilpasset CMS-integrasjon
Synkroniser innhold fra et proprietært CMS:
- Koble til CMS-publiseringshendelser
- Push nytt/oppdatert innhold til AI SmartTalk
- Fjern slettet innhold
Datapipeline
Importer fra datalagre:
- Eksporter relevant data til JSON
- Batch-import via API
- Planlegg regelmessige oppdateringer
E-handelprodukter
Synkroniser produktdata fra tilpassede systemer:
- Produktbeskrivelser
- Spesifikasjoner
- Prisinformasjon
Interne systemer
Koble til interne verktøy som ikke støttes nativt:
- Tilpassede wikis
- Arv databaser
- Proprietære applikasjoner
Rate Limits
| Endpoint | Rate Limit |
|---|---|
| Document Import | 100 requests/minute |
| Query | 60 requests/minute |
| Search | 60 requests/minute |
Merk: Rate limits varierer etter plan. Kontakt support for høyere grenser.
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 | Dårlig eller utløpt token | Regenerer API-token |
INVALID_MODEL_ID | Ukjent chat-modell ID | Sjekk din Chat Model ID |
RATE_LIMITED | For mange forespørsel | Implementer backoff, prøv igjen senere |
INVALID_REQUEST | Feilformatert forespørsel | Sjekk JSON-struktur |
DOCUMENT_TOO_LARGE | Innholdet overskrider grensen | Del opp i mindre dokumenter |
QUOTA_EXCEEDED | Plangrenser nådd | Oppgrader eller kontakt support |
Troubleshooting
Authentication Fails
| Issue | Solution |
|---|---|
| 401 Unauthorized | Sjekk at token er korrekt og aktiv |
| Token not working | Regenerer token i innstillinger |
| Expired token | Tokens utløper ikke, men kan tilbakekalles |
Import Issues
| Issue | Solution |
|---|---|
| Empty response | Sjekk at Content-Type er application/json |
| Document not appearing | Vent på behandling; sjekk Knowledge-seksjonen |
| Partial import | Noen dokumenter kan ha valideringsfeil |
Performance Issues
| Issue | Solution |
|---|---|
| Slow imports | Batch dokumenter (maks 100 per forespørsel) |
| Timeouts | Reduser batch-størrelse, prøv igjen med backoff |
| Rate limited | Implementer eksponentiell backoff |
Best Practices
- Batch imports: Send flere dokumenter per forespørsel (opptil 100)
- Unique titles: Bruk beskrivende, unike titler for hvert dokument
- Structured content: Godt formatert innhold forbedrer AI-responser
- Metadata tagging: Bruk metadata for kategorisering og filtrering
- Secure tokens: Oppbevar tokens i miljøvariabler
- Handle errors: Implementer retry-logikk med eksponentiell backoff
- Monitor usage: Spor API-kall mot dine plangrenser