API-integrasjon
Push data programmatisk til din AI SmartTalk kunnskapsbase ved hjelp av vårt REST API. Ideell for tilpassede integrasjoner, automatiserte pipelines og enhver datakilde som ikke dekkes av våre native koblinger.
Oversikt
API-integrasjonen gjør at du kan:
- 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-legitimasjonene dine
Trinn 1: Tilgang til API-innstillinger
- Logg inn på din AI SmartTalk-konto
- Naviger til Innstillinger → Integrasjoner
- Finn API og klikk Konfigurer
Trinn 2: Generer 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
Basis-URL
https://api.aismarttalk.tech/v1
Autentisering
Alle forespørselene krever API-tokenet ditt i headeren:
Authorization: Bearer YOUR_API_TOKEN
Importer dokumenter
Endepunkt
POST /documents/import
Forespørselens kropp
{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Produktdokumentasjon",
"content": "Fullt innhold av dokumentet ditt går her...",
"url": "https://example.com/docs/product",
"metadata": {
"category": "documentation",
"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 | ❌ | Tilpassede 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 plattformen vår. Her er hvordan du kommer i gang...",
"url": "https://docs.example.com/getting-started"
}
]
}'
Spørsmål om dokumenter
Still spørsmål mot din kunnskapsbase programmatisk.
Endepunkt
POST /chat/query
Forespørselens kropp
{
"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, naviger 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ørselens kropp
{
"chatModelId": "your-chat-model-id",
"query": "passord sikkerhet",
"limit": 10
}
Respons
{
"success": true,
"documents": [
{
"id": "doc_abc123",
"title": "Sikkerhets beste praksis",
"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 slettede innhold
Datapipeline
Importer fra datalager:
- Eksporter relevant data til JSON
- Batch-import via API
- Planlegg regelmessige oppdateringer
E-handelsprodukter
Synkroniser produktdata fra tilpassede systemer:
- Produktbeskrivelser
- Spesifikasjoner
- Prisinformasjon
Interne systemer
Koble til interne verktøy som ikke støttes nativt:
- Tilpassede wikier
- Eldre databaser
- Proprietære applikasjoner
Rategrenser
| Endepunkt | Rategrense |
|---|---|
| Dokumentimport | 100 forespørsel/minutt |
| Spørsmål | 60 forespørsel/minutt |
| Søk | 60 forespørsel/minutt |
Merk: Rategrenser varierer etter plan. Kontakt support for høyere grenser.
Feilhåndtering
Feilresponsformat
{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "Den angitte API-token er ugyldig eller utløpt"
}
}
Vanlige feilkoder
| Kode | Beskrivelse | Løsning |
|---|---|---|
INVALID_TOKEN | Ugyldig 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-strukturen |
DOCUMENT_TOO_LARGE | Innholdet overskrider grensen | Del opp i mindre dokumenter |
QUOTA_EXCEEDED | Grensene for planen er nådd | Oppgrader eller kontakt support |
Feilsøking
Autentisering mislykkes
| Problem | Løsning |
|---|---|
| 401 Uautorisert | Sjekk at token er korrekt og aktiv |
| Token fungerer ikke | Regenerer token i innstillinger |
| Utløpt token | Tokens utløper ikke, men kan tilbakekalles |
Importproblemer
| Problem | Løsning |
|---|---|
| Tom respons | Sjekk at Content-Type er application/json |
| Dokument vises ikke | Vent på behandling; sjekk Kunnskapsseksjonen |
| Delvis import | Noen dokumenter kan ha valideringsfeil |
Ytelsesproblemer
| Problem | Løsning |
|---|---|
| Langsom import | Batch dokumenter (maks 100 per forespørsel) |
| Tidsavbrudd | Reduser batch-størrelsen, prøv igjen med backoff |
| Rate begrenset | Implementer eksponentiell backoff |
Beste praksis
- Batch-importer: Send flere dokumenter per forespørsel (opptil 100)
- Unike titler: Bruk beskrivende, unike titler for hvert dokument
- Strukturert innhold: Godt formatert innhold forbedrer AI-responser
- Metadatamerking: Bruk metadata for kategorisering og filtrering
- Sikre tokens: Oppbevar tokens i miljøvariabler
- Håndter feil: Implementer retry-logikk med eksponentiell backoff
- Overvåk bruk: Spor API-kall mot planens grenser