API-anslutningar

Anslut dina externa API:er till enuchat så att AI och regler kan hämta realtidsdata från dina system.

Så fungerar det

API-anslutningar låter dig integrera enuchat med dina egna backend-system — bokningsmotorer, CRM, orderhantering, lager och mer. När en besökare ställer en fråga kan enuchat anropa ditt API för att få verkliga data och inkludera dem i svaret.

Flödet

  1. Konfigurera en anslutning — ditt API:s bas-URL och autentisering
  2. Lägg till endpoints — specifika API-anrop med sökvägsmallar och svarsmappning
  3. Skapa en regel — en AI eller statisk regel med en CALL_API-åtgärd
  4. Besökare ställer en fråga — regeln utlöses, anropar ditt API, mappar svaret till sessionsvariabler
  5. AI svarar med verkliga data — sessionsvariablerna är tillgängliga för AI att generera ett korrekt svar

Exempel: Hotellrumstillgänglighet

Besökare: „Är rum 205 tillgängligt nästa vecka?"

AI-regel matchar: „När besökare frågar om rumstillgänglighet"

CALL_API-åtgärd: GET https://api.hotel.com/rooms/205/availability

Svar mappat: room_available = true, price = „120 €/natt"

AI svarar: „Rum 205 är tillgängligt nästa vecka för 120 €/natt. Vill du boka det?"

Sätta upp en anslutning

Gå till Inställningar → API-anslutningar i din panel.

1. Skapa en anslutning

En anslutning representerar ett externt API. Du behöver:

FältBeskrivningExempel
NamnEn etikett för denna anslutningHotellbokning-API
Bas-URLAPI:ets rot-URLhttps://api.hotel.com/v1
Auth-typHur man autentiserarBearer Token, OAuth2, etc.

2. Autentiseringstyper

Ingen

För offentliga API:er som inte kräver autentisering.

API-nyckel

Skickar en statisk nyckel som en header eller query-parameter.

FältBeskrivning
NyckelDitt API-nyckelvärde
HeadernamnHeader att använda (standard: X-Api-Key)

Nyckeln skickas som: X-Api-Key: your_key_here

Bearer Token

Skickar en statisk token i Authorization-headern.

Skickas som: Authorization: Bearer your_token_here

Basic Auth

Skickar användarnamn och lösenord, base64-kodade.

Skickas som: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Hämtar en åtkomsttoken automatiskt och cachar den tills den går ut. Bäst för moderna API:er som Salesforce, Google eller anpassade OAuth-servrar.

FältBeskrivning
Token-URLOAuth-token-endpoint (t.ex. https://auth.example.com/oauth/token)
Client IDDitt OAuth-klient-ID
Client SecretDin OAuth-klienthemlighet
ScopeMellanslagsseparerade scopes (t.ex. read write)

enuchat hanterar tokenlivscykeln automatiskt — hämtar vid första anropet, cachar tills den går ut, uppdaterar vid behov.

Säkerhet: Alla inloggningsuppgifter krypteras i vila med libsodium. De exponeras aldrig i API-svar — bara maskerade värden visas i panelen.

Konfigurera endpoints

Varje anslutning kan ha flera endpoints — specifika API-anrop du vill göra.

FältBeskrivningExempel
NamnEtikett för denna endpointKontrollera tillgänglighet
MetodHTTP-metodGET, POST, PUT, DELETE
SökvägURL-sökväg (läggs till bas-URL). Använd {'{'}variable} för dynamiska värden/rooms/{'{'}roomId}/availability
Query-paramsURL-parametrar som nyckel-värde-par. Värden stöder {'{'}variable}date={'{'}checkIn}
Body-mallJSON-kropp för POST/PUT. Stöder {'{'}variable}-interpolation{'{'}"guest": "{'{'}name}"}
SvarsmappningMappa JSON-svarsfält till sessionsvariabler med punktnotationdata.available → room_available
BeskrivningKontext för AI (vilken data denna endpoint returnerar)Returnerar rumstillgänglighet och priser

Variabelinterpolation

Använd {'{'}variableName} i sökvägar, query-parametrar och body-mallar. Variabler kommer från:

  • Sessionsvariabler — satta av tidigare regler (SET_VARIABLE-åtgärd)
  • Åtgärdsparametrar — hårdkodade i CALL_API-regeln

Svarsmappning

Mappa JSON-svarsfält till sessionsvariabler med punktnotation:

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

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

Mappade variabler lagras som sessionsvariabler i konversationen och är tillgängliga för AI att generera svar.

Användning med regler

API-anrop utlöses av CALL_API-åtgärden i regler. Du kan kombinera dem med andra åtgärder.

Recept: Orderstatusuppslagning

Anslutning: Orderhanterings-API — https://api.shop.com/v2 — Bearer Token

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

Regel (AI-typ): „När besökaren frågar om sin orderstatus eller leverans"

Åtgärder:

  1. CALL_API → Orderstatus-endpoint
  2. REPLY_AI → AI använder order_status och delivery_eta för att svara

Resultat: Besökare: „Var är min order #4521?" — AI: „Din order #4521 skickas för tillfället och bör anlända senast torsdag."

Recept: Realtidspriser

Anslutning: Pris-API — https://pricing.example.com — API-nyckel

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

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

Åtgärder:

  1. CALL_API → Pris-endpoint
  2. REPLY_TEXT → „Det aktuella priset är {'{'}current_price} {'{'}price_currency}."

Testning

Testa alltid dina anslutningar och endpoints innan du använder dem i regler:

  • Testa anslutning — verifierar att autentisering fungerar (för OAuth2: hämtar en token)
  • Testa endpoint — gör ett verkligt API-anrop med exempelvariabler och visar svaret
  • Testa regel (dry-run) — på Regler-sidan, testa om en regel skulle matcha och vilka åtgärder som skulle utföras

Tips: Börja med att testa anslutningen, sedan varje endpoint, sedan hela regeln. På så sätt kan du isolera problem på varje nivå.

Säkerhet

  • Kryptering i vila — alla inloggningsuppgifter krypteras med libsodium före lagring
  • Aldrig exponerade — API-svar inkluderar aldrig dekrypterade inloggningsuppgifter, bara maskerade värden
  • SSRF-skydd — enuchat blockerar anrop till localhost, privata IP:n och interna värdnamn
  • Timeout — externa API-anrop har en 5-sekunders timeout för att förhindra hängning
  • OAuth2-tokencaching — åtkomsttokens cachas säkert och uppdateras automatiskt
  • Tenant-isolering — anslutningar är begränsade till din tenant, otillgängliga för andra

Redo att ansluta dina API:er?

Börja integrera dina system med enuchat idag.

Kom igång gratis