API-forbindelser

Forbind dine eksterne API'er til enuchat, så AI og regler kan hente realtidsdata fra dine systemer.

Sådan fungerer det

API-forbindelser lader dig integrere enuchat med dine egne backend-systemer — bookingmotorer, CRM'er, ordrestyring, lager og mere. Når en besøgende stiller et spørgsmål, kan enuchat kalde dit API for at få rigtige data og inkludere dem i svaret.

Flowet

  1. Konfigurér en forbindelse — dit API's basis-URL og autentificering
  2. Tilføj endpoints — specifikke API-kald med stiskabeloner og svarafbildning
  3. Opret en regel — en AI- eller statisk regel med en CALL_API-handling
  4. Besøgende stiller et spørgsmål — reglen udløses, kalder dit API, afbilder svaret til sessionsvariabler
  5. AI svarer med rigtige data — sessionsvariablerne er tilgængelige for AI til at generere et nøjagtigt svar

Eksempel: Hotelværelsestilgængelighed

Besøgende: „Er værelse 205 ledigt næste uge?“

AI-reglen matcher: „Når besøgende spørger om værelsestilgængelighed“

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

Svar afbildet: room_available = true, price = „120€/nat“

AI svarer: „Værelse 205 er ledigt næste uge for 120€/nat. Vil du booke det?“

Opsætning af en forbindelse

Gå til Indstillinger → API-forbindelser i dit dashboard.

1. Opret en forbindelse

En forbindelse repræsenterer ét eksternt API. Du har brug for:

FeltBeskrivelseEksempel
NavnEn etiket for denne forbindelseHotel Booking API
Basis-URLAPI'ets rod-URLhttps://api.hotel.com/v1
Auth-typeHvordan man autentificererBearer Token, OAuth2, osv.

2. Autentificeringstyper

Ingen

Til offentlige API'er, der ikke kræver autentificering.

API-nøgle

Sender en statisk nøgle som en header eller forespørgselsparameter.

FeltBeskrivelse
NøgleDin API-nøgleværdi
HeadernavnHeader at bruge (standard: X-Api-Key)

Nøglen sendes som: X-Api-Key: your_key_here

Bearer Token

Sender et statisk token i Authorization-headeren.

Sendt som: Authorization: Bearer your_token_here

Basic Auth

Sender brugernavn og adgangskode, base64-kodet.

Sendt som: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Henter et access token automatisk og cacherer det indtil udløb. Bedst til moderne API'er som Salesforce, Google eller brugerdefinerede OAuth-servere.

FeltBeskrivelse
Token URLOAuth token endpoint (f.eks. https://auth.example.com/oauth/token)
Client IDDit OAuth client ID
Client SecretDin OAuth client secret
ScopeMellemrumsadskilte scopes (f.eks. read write)

enuchat håndterer token-livscyklussen automatisk — henter ved første kald, cacherer indtil udløb, fornyer efter behov.

Sikkerhed: Alle legitimationsoplysninger krypteres i hvile ved hjælp af libsodium. De eksponeres aldrig i API-svar — kun maskerede værdier vises i dashboardet.

Konfiguration af endpoints

Hver forbindelse kan have flere endpoints — specifikke API-kald, du vil foretage.

FeltBeskrivelseEksempel
NavnEtiket for dette endpointTjek tilgængelighed
MetodeHTTP-metodeGET, POST, PUT, DELETE
StiURL-sti (tilføjet til basis-URL). Brug {'{'}variable} til dynamiske værdier/rooms/{'{'}roomId}/availability
ForespørgselsparametreURL-parametre som nøgle-værdi-par. Værdier understøtter {'{'}variable}date={'{'}checkIn}
Body-skabelonJSON-krop til POST/PUT. Understøtter {'{'}variable} interpolation{'{'}"guest": "{'{'}name}"}
SvarafbildningAfbild JSON-svarfelter til sessionsvariabler ved hjælp af punktnotationdata.available → room_available
BeskrivelseKontekst for AI (hvilke data dette endpoint returnerer)Returnerer værelsestilgængelighed og priser

Variabelinterpolation

Brug {'{'}variableName} i stier, forespørgselsparametre og body-skabeloner. Variabler kommer fra:

  • Sessionsvariabler — sat af tidligere regler (SET_VARIABLE-handling)
  • Handlingsparametre — hardkodet i CALL_API-regelhandlingen

Svarafbildning

Afbild JSON-svarfelter til sessionsvariabler ved hjælp af punktnotation:

// 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"

Afbildede variabler gemmes som sessionsvariabler på samtalen og er tilgængelige for AI til at generere svar.

Brug med regler

API-kald udløses af CALL_API-handlingen i regler. Du kan kombinere dem med andre handlinger.

Opskrift: Ordre status opslag

Forbindelse: Order Management API — https://api.shop.com/v2 — Bearer Token

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

Regel (AI-type): „Når besøgende spørger om deres ordrestatus eller levering“

Handlinger:

  1. CALL_API → Ordrestatus endpoint
  2. REPLY_AI → AI bruger order_status og delivery_eta til at svare

Resultat: Besøgende: „Hvor er min ordre #4521?“ — AI: „Din ordre #4521 sendes i øjeblikket og bør ankomme senest torsdag.“

Opskrift: Realtidspriser

Forbindelse: Pricing API — https://pricing.example.com — API-nøgle

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

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

Handlinger:

  1. CALL_API → Prissætnings endpoint
  2. REPLY_TEXT → „Den nuværende pris er {'{'}current_price} {'{'}price_currency}.“

Test

Test altid dine forbindelser og endpoints, før du bruger dem i regler:

  • Test forbindelse — verificerer at autentificering fungerer (for OAuth2: henter et token)
  • Test endpoint — foretager et rigtigt API-kald med prøvevariabler og viser svaret
  • Test regel (dry-run) — på Regler-siden, test om en regel ville matche, og hvilke handlinger der ville udføres

Tip: Start med at teste forbindelsen, derefter hvert endpoint, derefter den komplette regel. På den måde kan du isolere problemer på hvert niveau.

Sikkerhed

  • Kryptering i hvile — alle legitimationsoplysninger krypteres ved hjælp af libsodium før lagring
  • Aldrig eksponeret — API-svar inkluderer aldrig dekrypterede legitimationsoplysninger, kun maskerede værdier
  • SSRF-beskyttelse — enuchat blokerer kald til localhost, private IP'er og interne værtsnavne
  • Timeout — eksterne API-kald har en 5-sekunders timeout for at forhindre hængninger
  • OAuth2 token caching — access tokens caches sikkert og fornyes automatisk
  • Tenant-isolation — forbindelser er afgrænset til din tenant, utilgængelige for andre

Klar til at forbinde dine API'er?

Begynd at integrere dine systemer med enuchat i dag.

Kom i gang gratis