API Connections

Verbind uw externe API's met enuchat zodat AI en regels realtime data uit uw systemen kunnen ophalen.

Hoe het werkt

API Connections laten u enuchat integreren met uw eigen backendsystemen — boekingsengines, CRM's, orderbeheer, voorraad en meer. Wanneer een bezoeker een vraag stelt, kan enuchat uw API aanroepen om echte data op te halen en deze in het antwoord op te nemen.

Het proces

  1. Configureer een verbinding — de basis-URL en authenticatie van uw API
  2. Voeg endpoints toe — specifieke API-aanroepen met padsjablonen en response-mapping
  3. Maak een regel — een AI- of statische regel met een CALL_API-actie
  4. Bezoeker stelt een vraag — de regel wordt geactiveerd, roept uw API aan, mapt het antwoord naar sessievariabelen
  5. AI antwoordt met echte data — de sessievariabelen zijn beschikbaar voor AI om een nauwkeurig antwoord te genereren

Voorbeeld: hotelkamerbeschikbaarheid

Bezoeker: "Is kamer 205 volgende week beschikbaar?"

AI-regel matcht: "Wanneer bezoeker vraagt naar kamerbeschikbaarheid"

CALL_API-actie: GET https://api.hotel.com/rooms/205/availability

Response gemapt: room_available = true, price = "€120/nacht"

AI antwoordt: "Kamer 205 is volgende week beschikbaar voor €120/nacht. Wilt u deze boeken?"

Een verbinding instellen

Ga naar Instellingen → API Connections in uw dashboard.

1. Maak een verbinding

Een verbinding vertegenwoordigt één externe API. U heeft nodig:

VeldBeschrijvingVoorbeeld
NaamEen label voor deze verbindingHotel Booking API
Basis-URLDe root-URL van de APIhttps://api.hotel.com/v1
Auth-typeHoe te authenticerenBearer Token, OAuth2, enz.

2. Authenticatietypen

Geen

Voor openbare API's die geen authenticatie vereisen.

API Key

Stuurt een statische sleutel als header of queryparameter.

VeldBeschrijving
SleutelUw API-sleutelwaarde
Header-naamTe gebruiken header (standaard: X-Api-Key)

De sleutel wordt verstuurd als: X-Api-Key: your_key_here

Bearer Token

Stuurt een statisch token in de Authorization-header.

Verstuurd als: Authorization: Bearer your_token_here

Basic Auth

Stuurt gebruikersnaam en wachtwoord, base64-gecodeerd.

Verstuurd als: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Haalt automatisch een toegangstoken op en cached dit tot vervaldatum. Het beste voor moderne API's zoals Salesforce, Google of aangepaste OAuth-servers.

VeldBeschrijving
Token-URLOAuth token-endpoint (bijv. https://auth.example.com/oauth/token)
Client IDUw OAuth client-ID
Client SecretUw OAuth client secret
ScopeDoor spaties gescheiden scopes (bijv. read write)

enuchat regelt de tokenlevenscyclus automatisch — haalt op bij de eerste aanroep, cached tot vervaldatum, vernieuwt wanneer nodig.

Beveiliging: Alle inloggegevens worden versleuteld opgeslagen met libsodium. Ze worden nooit in API-responses getoond — alleen gemaskeerde waarden zijn zichtbaar in het dashboard.

Endpoints configureren

Elke verbinding kan meerdere endpoints hebben — specifieke API-aanroepen die u wilt doen.

VeldBeschrijvingVoorbeeld
NaamLabel voor dit endpointBeschikbaarheid controleren
MethodeHTTP-methodeGET, POST, PUT, DELETE
PadURL-pad (toegevoegd aan basis-URL). Gebruik {'{'}variable} voor dynamische waarden/rooms/{'{'}roomId}/availability
QueryparametersURL-parameters als sleutel-waardeparen. Waarden ondersteunen {'{'}variable}date={'{'}checkIn}
Body-sjabloonJSON-body voor POST/PUT. Ondersteunt {'{'}variable}-interpolatie{'{'}"guest": "{'{'}name}"}
Response-mappingMap JSON-responsevelden naar sessievariabelen met puntnotatiedata.available → room_available
BeschrijvingContext voor AI (welke data dit endpoint retourneert)Retourneert kamerbeschikbaarheid en prijzen

Variabele-interpolatie

Gebruik {'{'}variableName} in paden, queryparameters en body-sjablonen. Variabelen komen van:

  • Sessievariabelen — ingesteld door eerdere regels (SET_VARIABLE-actie)
  • Actieparameters — hardgecodeerd in de CALL_API-regelactie

Response-mapping

Map JSON-responsevelden naar sessievariabelen met puntnotatie:

// API returns:
{'{'}
  "data": {'{'}
    "available": true,
    "price": {'{'} "amount": 120, "currency": "EUR" }
  }
}

// Mapping:
data.available  →  room_available    // "true"
data.price.amount  →  room_price    // "120"
data.price.currency  →  room_currency  // "EUR"

Gemapte variabelen worden opgeslagen als sessievariabelen op het gesprek en zijn beschikbaar voor AI om antwoorden te genereren.

Gebruik met regels

API-aanroepen worden geactiveerd door de CALL_API-actie in regels. U kunt ze combineren met andere acties.

Recept: bestelstatus opzoeken

Verbinding: Orderbeheer API — https://api.shop.com/v2 — Bearer Token

Endpoint: GET /orders/{'{'}orderId} → mapt data.statusorder_status, data.etadelivery_eta

Regel (AI-type): "Wanneer de bezoeker vraagt naar hun bestelstatus of levering"

Acties:

  1. CALL_API → Bestelstatus-endpoint
  2. REPLY_AI → AI gebruikt order_status en delivery_eta om te antwoorden

Resultaat: Bezoeker: "Waar is mijn bestelling #4521?" — AI: "Uw bestelling #4521 wordt momenteel verzonden en zou donderdag moeten aankomen."

Recept: realtime prijzen

Verbinding: Prijs-API — https://pricing.example.com — API Key

Endpoint: GET /products/{'{'}productId}/price → mapt pricecurrent_price, currencyprice_currency

Regel (statisch): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Acties:

  1. CALL_API → Prijs-endpoint
  2. REPLY_TEXT → "De huidige prijs is {'{'}current_price} {'{'}price_currency}."

Testen

Test altijd uw verbindingen en endpoints voordat u ze in regels gebruikt:

  • Test verbinding — controleert of authenticatie werkt (voor OAuth2: haalt een token op)
  • Test endpoint — doet een echte API-aanroep met voorbeeldvariabelen en toont het antwoord
  • Test regel (dry-run) — op de pagina Regels kunt u testen of een regel zou matchen en welke acties er zouden worden uitgevoerd

Tip: Begin met het testen van de verbinding, dan elk endpoint, dan de volledige regel. Zo kunt u problemen op elk niveau isoleren.

Beveiliging

  • Versleuteling in rust — alle inloggegevens worden versleuteld met libsodium vóór opslag
  • Nooit zichtbaar — API-responses bevatten nooit ontsleutelde inloggegevens, alleen gemaskeerde waarden
  • SSRF-bescherming — enuchat blokkeert aanroepen naar localhost, privé-IP's en interne hostnamen
  • Timeout — externe API-aanroepen hebben een timeout van 5 seconden om vastlopen te voorkomen
  • OAuth2-tokencaching — toegangstokens worden veilig gecached en automatisch vernieuwd
  • Tenant-isolatie — verbindingen zijn beperkt tot uw tenant, ontoegankelijk voor anderen

Klaar om uw API's te verbinden?

Begin vandaag nog met het integreren van uw systemen met enuchat.

Gratis aan de slag