Ga naar de hoofdinhoud

API-integratie

Stuur gegevens programmatisch naar uw AI SmartTalk-kennisbank met behulp van onze REST API. Ideaal voor aangepaste integraties, geautomatiseerde pipelines en elke gegevensbron die niet wordt gedekt door onze native connectors.


Overzicht

De API-integratie stelt u in staat om:

  • Documenten rechtstreeks naar uw kennisbank te sturen
  • Inhoud programmatisch bij te werken
  • Verouderde vermeldingen te verwijderen
  • Aangepaste gegevenspipelines te bouwen
  • Integreren met elk systeem dat HTTP-verzoeken kan doen

Vereisten

Voordat u begint, zorg ervoor dat u:

  • Een actief AI SmartTalk-account heeft
  • API-toegang is ingeschakeld (controleer uw plan)
  • Basiskennis van REST API's heeft
  • Een hulpmiddel heeft voor het doen van HTTP-verzoeken (curl, Postman of uw applicatiecode)

Uw API-inloggegevens verkrijgen

Stap 1: Toegang tot API-instellingen

  1. Log in op uw AI SmartTalk-account
  2. Navigeer naar InstellingenIntegraties
  3. Zoek API en klik op Configureren

Stap 2: Genereer API-token

  1. Klik op Genereer nieuw token
  2. Kopieer uw Chat Model ID en API-token
  3. Bewaar deze op een veilige plaats—het token wordt slechts één keer weergegeven!

⚠️ Beveiligingswaarschuwing: Stel uw API-token nooit bloot in client-side code of openbare repositories.


API-eindpunten

Basis-URL

https://api.aismarttalk.tech/v1

Authenticatie

Alle verzoeken vereisen uw API-token in de header:

Authorization: Bearer YOUR_API_TOKEN

Documenten importeren

Eindpunt

POST /documents/import

Verzoeklichaam

{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Productdocumentatie",
"content": "Volledige inhoud van uw document gaat hier...",
"url": "https://example.com/docs/product",
"metadata": {
"category": "documentatie",
"language": "en"
}
}
]
}

Parameters

VeldTypeVereistBeschrijving
chatModelIdstringUw unieke identificatie voor het chatmodel
documentsarrayArray van documentobjecten
documents[].titlestringDocumenttitel voor identificatie
documents[].contentstringVolledige tekstinhoud
documents[].urlstringBron-URL (ter referentie)
documents[].metadataobjectAangepaste sleutel-waarde paren

Antwoord

{
"success": true,
"imported": 1,
"documents": [
{
"id": "doc_abc123",
"title": "Productdocumentatie",
"status": "verwerken"
}
]
}

Voorbeeld: 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": "Handleiding voor beginners",
"content": "Welkom op ons platform. Hier is hoe u aan de slag kunt...",
"url": "https://docs.example.com/getting-started"
}
]
}'

Documenten opvragen

Stel programmatisch vragen aan uw kennisbank.

Eindpunt

POST /chat/query

Verzoeklichaam

{
"chatModelId": "your-chat-model-id",
"query": "Hoe reset ik mijn wachtwoord?",
"options": {
"maxTokens": 500,
"temperature": 0.7
}
}

Antwoord

{
"success": true,
"response": "Om uw wachtwoord te resetten, navigeert u naar Instellingen > Beveiliging > Wachtwoord wijzigen...",
"sources": [
{
"documentId": "doc_abc123",
"title": "Beveiligingsgids",
"relevance": 0.95
}
]
}

Documenten ophalen

Haal documenten op die overeenkomen met een query (zonder AI-respons).

Eindpunt

POST /documents/search

Verzoeklichaam

{
"chatModelId": "your-chat-model-id",
"query": "wachtwoordbeveiliging",
"limit": 10
}

Antwoord

{
"success": true,
"documents": [
{
"id": "doc_abc123",
"title": "Beveiligingsbest practices",
"content": "...",
"relevance": 0.92
}
]
}

Codevoorbeelden

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()

# Importeer een document
result = import_document(
title="FAQ: Verzending",
content="Wij bieden gratis verzending op bestellingen boven de $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();
}

// Importeer een document
importDocument(
'FAQ: Retourneren',
'U kunt artikelen binnen 30 dagen na aankoop retourneren...',
'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' => 'Productspecificaties',
'content' => 'Onze widget heeft de volgende specificaties...',
'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));

Toepassingsgevallen

Aangepaste CMS-integratie

Synchroniseer inhoud van een propriëtaire CMS:

  • Haak in op CMS-publicatie-evenementen
  • Stuur nieuwe/bijgewerkte inhoud naar AI SmartTalk
  • Verwijder verwijderde inhoud

Gegevenspipeline

Importeer uit datawarehouses:

  • Exporteer relevante gegevens naar JSON
  • Batchimport via API
  • Plan regelmatige updates

E-commerceproducten

Synchroniseer productgegevens van aangepaste systemen:

  • Productbeschrijvingen
  • Specificaties
  • Prijsinformatie

Interne systemen

Verbind interne tools die niet native worden ondersteund:

  • Aangepaste wiki's
  • Legacy-databases
  • Propriëtaire applicaties

Rate Limieten

EindpuntRate Limiet
Documentimport100 verzoeken/minuut
Query60 verzoeken/minuut
Zoekopdracht60 verzoeken/minuut

Opmerking: Rate limieten variëren per plan. Neem contact op met de ondersteuning voor hogere limieten.


Foutafhandeling

Foutresponsformaat

{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "De opgegeven API-token is ongeldig of verlopen"
}
}

Veelvoorkomende Foutcodes

CodeBeschrijvingOplossing
INVALID_TOKENSlechte of verlopen tokenGenereer API-token opnieuw
INVALID_MODEL_IDOnbekende chatmodel-IDControleer uw Chat Model ID
RATE_LIMITEDTe veel verzoekenImplementeer backoff, probeer later opnieuw
INVALID_REQUESTOngeldig verzoeklichaamControleer JSON-structuur
DOCUMENT_TOO_LARGEInhoud overschrijdt limietSplits in kleinere documenten
QUOTA_EXCEEDEDLimieten van het plan bereiktUpgrade of neem contact op met ondersteuning

Probleemoplossing

Authenticatie mislukt

ProbleemOplossing
401 UnauthorizedControleer of de token correct en actief is
Token werkt nietGenereer token opnieuw in instellingen
Verlopen tokenTokens verlopen niet, maar kunnen worden ingetrokken

Importproblemen

ProbleemOplossing
Lege responsControleer of Content-Type application/json is
Document verschijnt nietWacht op verwerking; controleer de Kennissectie
Gedeeltelijke importSommige documenten kunnen validatiefouten hebben

Prestatieproblemen

ProbleemOplossing
Langzame importsBatch documenten (maximaal 100 per verzoek)
Time-outsVerminder batchgrootte, probeer opnieuw met backoff
Rate limitedImplementeer exponentiële backoff

Beste Praktijken

  1. Batch imports: Stuur meerdere documenten per verzoek (tot 100)
  2. Unieke titels: Gebruik beschrijvende, unieke titels voor elk document
  3. Gestructureerde inhoud: Goed geformatteerde inhoud verbetert AI-antwoorden
  4. Metadata tagging: Gebruik metadata voor categorisatie en filtering
  5. Veilige tokens: Bewaar tokens in omgevingsvariabelen
  6. Fouten afhandelen: Implementeer retry-logica met exponentiële backoff
  7. Gebruik monitoren: Volg API-aanroepen ten opzichte van uw planningslimieten

Gerelateerde Documentatie

Klaar om je
gebruikerservaring te verbeteren?

Zet AI-assistenten in die klanten verrassen en meegroeien met je bedrijf.

GDPR-conform