API-tilkoblinger
Koble dine eksterne API-er til enuchat slik at AI og regler kan hente sanntidsdata fra systemene dine.
Slik fungerer det
API-tilkoblinger lar deg integrere enuchat med dine egne backend-systemer — bookingmotorer, CRM-er, ordrehåndtering, lagerstyring og mer. Når en besøkende stiller et spørsmål, kan enuchat kalle API-et ditt for å hente ekte data og inkludere det i svaret.
Flyten
- Konfigurer en tilkobling — API-ets basis-URL og autentisering
- Legg til endpoints — spesifikke API-kall med sti-maler og svarkartlegging
- Opprett en regel — en AI- eller statisk regel med en CALL_API-handling
- Besøkende stiller et spørsmål — regelen utløses, kaller API-et ditt, kartlegger svaret til sesjonsvariabler
- AI svarer med ekte data — sesjonsvariablene er tilgjengelige for AI til å generere et presist svar
Eksempel: Hotellromtilgjengelighet
Besøkende: "Er rom 205 ledig neste uke?"
AI-regel matcher: "Når besøkende spør om romtilgjengelighet"
CALL_API-handling: GET https://api.hotel.com/rooms/205/availability
Svar kartlagt: room_available = true, price = "€120/natt"
AI svarer: "Rom 205 er ledig neste uke til €120/natt. Vil du booke det?"
Sette opp en tilkobling
Gå til Innstillinger → API-tilkoblinger i kontrollpanelet.
1. Opprett en tilkobling
En tilkobling representerer ett eksternt API. Du trenger:
| Felt | Beskrivelse | Eksempel |
|---|---|---|
| Navn | En etikett for denne tilkoblingen | Hotellbooking-API |
| Basis-URL | API-ets rot-URL | https://api.hotel.com/v1 |
| Autentiseringstype | Hvordan autentisere | Bearer Token, OAuth2, osv. |
2. Autentiseringstyper
Ingen
For offentlige API-er som ikke krever autentisering.
API-nøkkel
Sender en statisk nøkkel som header eller spørringsparameter.
| Felt | Beskrivelse |
|---|---|
| Nøkkel | Din API-nøkkelverdi |
| Headernavn | Header å bruke (standard: X-Api-Key) |
Nøkkelen sendes som: X-Api-Key: din_nøkkel_her
Bearer Token
Sender et statisk token i Authorization-headeren.
Sendes som: Authorization: Bearer ditt_token_her
Basic Auth
Sender brukernavn og passord, base64-kodet.
Sendes som: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Henter et access token automatisk og cacher det til utløp. Best for moderne API-er som Salesforce, Google eller egne OAuth-servere.
| Felt | Beskrivelse |
|---|---|
| Token-URL | OAuth token-endpoint (f.eks. https://auth.example.com/oauth/token) |
| Client ID | Din OAuth client ID |
| Client Secret | Din OAuth client secret |
| Scope | Mellomromseparerte scopes (f.eks. read write) |
enuchat håndterer tokenlivssyklusen automatisk — henter ved første kall, cacher til utløp, fornyer når nødvendig.
Sikkerhet: Alle legitimasjonsopplysninger krypteres i hvile med libsodium. De eksponeres aldri i API-svar — kun maskerte verdier vises i kontrollpanelet.
Konfigurere endpoints
Hver tilkobling kan ha flere endpoints — spesifikke API-kall du ønsker å gjøre.
| Felt | Beskrivelse | Eksempel |
|---|---|---|
| Navn | Etikett for dette endpointet | Sjekk tilgjengelighet |
| Metode | HTTP-metode | GET, POST, PUT, DELETE |
| Sti | URL-sti (legges til basis-URL). Bruk {'{'}variable} for dynamiske verdier | /rooms/{'{'}roomId}/availability |
| Spørringsparametre | URL-parametre som nøkkel-verdi-par. Verdier støtter {'{'}variable} | date={'{'}checkIn} |
| Body-mal | JSON-kropp for POST/PUT. Støtter {'{'}variable}-interpolering | {'{'}"guest": "{'{'}name}"} |
| Svarkartlegging | Kartlegg JSON-svarfelt til sesjonsvariabler med punktnotasjon | data.available → room_available |
| Beskrivelse | Kontekst for AI (hvilke data dette endpointet returnerer) | Returnerer romtilgjengelighet og priser |
Variabelinterpolering
Bruk {'{'}variableName} i stier, spørringsparametre og body-maler. Variabler kommer fra:
- Sesjonsvariabler — satt av tidligere regler (SET_VARIABLE-handling)
- Handlingsparametre — hardkodet i CALL_API-regelhandlingen
Svarkartlegging
Kartlegg JSON-svarfelt til sesjonsvariabler med punktnotasjon:
// 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"Kartlagte variabler lagres som sesjonsvariabler på samtalen og er tilgjengelige for AI til å generere svar.
Bruk med regler
API-kall utløses av CALL_API-handlingen i regler. Du kan kombinere dem med andre handlinger.
Oppskrift: Ordrestatusoppslag
Tilkobling: Ordrehåndterings-API — https://api.shop.com/v2 — Bearer Token
Endpoint: GET /orders/{'{'}orderId} → kartlegger data.status → order_status, data.eta → delivery_eta
Regel (AI-type): "Når besøkende spør om ordrestatus eller levering"
Handlinger:
- CALL_API → Ordrestatus-endpoint
- REPLY_AI → AI bruker
order_statusogdelivery_etatil å svare
Resultat: Besøkende: "Hvor er bestillingen min #4521?" — AI: "Bestillingen din #4521 er for tiden under frakt og bør ankomme innen torsdag."
Oppskrift: Sanntidsprising
Tilkobling: Pris-API — https://pricing.example.com — API-nøkkel
Endpoint: GET /products/{'{'}productId}/price → kartlegger price → current_price, currency → price_currency
Regel (statisk): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Handlinger:
- CALL_API → Pris-endpoint
- REPLY_TEXT → "Gjeldende pris er {'{'}current_price} {'{'}price_currency}."
Testing
Test alltid tilkoblinger og endpoints før du bruker dem i regler:
- Test tilkobling — verifiserer at autentisering fungerer (for OAuth2: henter et token)
- Test endpoint — gjør et ekte API-kall med eksempelvariabler og viser svaret
- Test regel (tørrkjøring) — på Regler-siden, test om en regel ville matche og hvilke handlinger som ville utføres
Tips: Start med å teste tilkoblingen, deretter hvert endpoint, deretter den komplette regelen. På denne måten kan du isolere problemer på hvert nivå.
Sikkerhet
- Kryptering i hvile — alle legitimasjonsopplysninger krypteres med libsodium før lagring
- Aldri eksponert — API-svar inkluderer aldri dekrypterte legitimasjonsopplysninger, kun maskerte verdier
- SSRF-beskyttelse — enuchat blokkerer kall til localhost, private IP-er og interne vertsnavn
- Timeout — eksterne API-kall har en 5-sekunders timeout for å forhindre henging
- OAuth2 token-caching — access tokens caches sikkert og fornyes automatisk
- Leietakerisolasjon — tilkoblinger er avgrenset til din leietaker, utilgjengelige for andre
Klar til å koble til API-ene dine?
Begynn å integrere systemene dine med enuchat i dag.
Kom i gang gratis