API-yhteydet

Yhdistä ulkoiset API:si enuchatiin, jotta tekoäly ja säännöt voivat hakea reaaliaikaista tietoa järjestelmistäsi.

Kuinka se toimii

API-yhteydet antavat sinun integroida enuchatin omiin backend-järjestelmiisi — varausjärjestelmiin, CRM:iin, tilauksenhallintaan, varastoon ja muihin. Kun vierailija esittää kysymyksen, enuchat voi kutsua API:asi saadakseen todellista tietoa ja sisällyttää sen vastaukseen.

Kulku

  1. Määritä yhteys — API:si perus-URL ja todennus
  2. Lisää päätepisteet — tietyt API-kutsut polkumalleineen ja vastauksen mappauksineen
  3. Luo sääntö — tekoäly- tai staattinen sääntö CALL_API-toiminnolla
  4. Vierailija esittää kysymyksen — sääntö laukeaa, kutsuu API:asi, mappaa vastauksen istunnon muuttujiin
  5. Tekoäly vastaa todellisilla tiedoilla — istunnon muuttujat ovat tekoälyn käytettävissä tarkan vastauksen luomiseen

Esimerkki: Hotellihuoneen saatavuus

Vierailija: „Onko huone 205 saatavilla ensi viikolla?"

Tekoälysääntö täsmää: „Kun vierailija kysyy huoneen saatavuudesta"

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

Vastaus mapattu: room_available = true, price = „120 €/yö"

Tekoäly vastaa: „Huone 205 on saatavilla ensi viikolla hintaan 120 €/yö. Haluaisitko varata sen?"

Yhteyden asettaminen

Mene Asetukset → API-yhteydet paneelissasi.

1. Yhteyden luominen

Yhteys edustaa yhtä ulkoista API:a. Tarvitset:

KenttäKuvausEsimerkki
NimiMerkintä tälle yhteydelleHotellivarausten API
Perus-URLAPI:n juuri-URLhttps://api.hotel.com/v1
TodennustyyppiKuinka todentaaBearer Token, OAuth2 jne.

2. Todennustyypit

Ei mitään

Julkisille API:ille, jotka eivät vaadi todennusta.

API-avain

Lähettää staattisen avaimen otsikkona tai kyselyparametrina.

KenttäKuvaus
AvainAPI-avaimesi arvo
Otsikon nimiKäytettävä otsikko (oletus: X-Api-Key)

Avain lähetetään muodossa: X-Api-Key: your_key_here

Bearer Token

Lähettää staattisen tokenin Authorization-otsikossa.

Lähetetään muodossa: Authorization: Bearer your_token_here

Basic Auth

Lähettää käyttäjätunnuksen ja salasanan base64-koodattuna.

Lähetetään muodossa: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Hakee pääsytokenin automaattisesti ja välimuistittaa sen vanhentumiseen asti. Paras moderneille API:ille kuten Salesforce, Google tai mukautetut OAuth-palvelimet.

KenttäKuvaus
Token-URLOAuth-tokenin päätepiste (esim. https://auth.example.com/oauth/token)
Client IDOAuth-asiakastunnuksesi
Client SecretOAuth-asiakassalaisuutesi
ScopeVälilyönnein eroteltu scope (esim. read write)

enuchat hoitaa tokenin elinkaaren automaattisesti — hakee ensimmäisessä kutsussa, välimuistittaa vanhentumiseen asti, päivittää tarvittaessa.

Turvallisuus: Kaikki tunnukset salataan levossa käyttäen libsodiumia. Niitä ei koskaan paljasteta API-vastauksissa — vain peitetyt arvot näkyvät paneelissa.

Päätepisteiden määritys

Jokaisella yhteydellä voi olla useita päätepisteitä — tietyt API-kutsut, joita haluat tehdä.

KenttäKuvausEsimerkki
NimiMerkintä tälle päätepisteelleTarkista saatavuus
MetodiHTTP-metodiGET, POST, PUT, DELETE
PolkuURL-polku (liitetään perus-URL:ään). Käytä {'{'}variable} dynaamisille arvoille/rooms/{'{'}roomId}/availability
KyselyparametritURL-parametrit avain-arvo-pareina. Arvot tukevat {'{'}variable}-muotoadate={'{'}checkIn}
Rungon malliJSON-runko POST/PUT:lle. Tukee {'{'}variable}-interpolaatiota{'{'}"guest": "{'{'}name}"}
Vastauksen mappausMappaa JSON-vastauskentät istunnon muuttujiin käyttäen piste-notaatiotadata.available → room_available
KuvausKonteksti tekoälylle (mitä tietoja tämä päätepiste palauttaa)Palauttaa huoneen saatavuuden ja hinnoittelun

Muuttujien interpolaatio

Käytä {'{'}variableName} poluissa, kyselyparametreissa ja rungon malleissa. Muuttujat tulevat:

  • Istunnon muuttujista — aiempien sääntöjen asettamina (SET_VARIABLE-toiminto)
  • Toiminnon parametreista — kovakoodattuina CALL_API-säännön toimintoon

Vastauksen mappaus

Mappaa JSON-vastauskentät istunnon muuttujiin käyttäen piste-notaatiota:

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

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

Mapatut muuttujat tallennetaan istunnon muuttujina keskusteluun ja ovat tekoälyn käytettävissä vastausten luomiseen.

Käyttö sääntöjen kanssa

API-kutsut laukaistaan sääntöjen CALL_API-toiminnolla. Voit yhdistää niitä muiden toimintojen kanssa.

Resepti: Tilauksen tilan haku

Yhteys: Tilauksenhallinnan API — https://api.shop.com/v2 — Bearer Token

Päätepiste: GET /orders/{'{'}orderId} → mappaa data.statusorder_status, data.etadelivery_eta

Sääntö (tekoälytyyppi): „Kun vierailija kysyy tilauksensa tilasta tai toimituksesta"

Toiminnot:

  1. CALL_API → Tilauksen tilan päätepiste
  2. REPLY_AI → Tekoäly käyttää order_status ja delivery_eta vastaamiseen

Tulos: Vierailija: „Missä tilaukseni #4521 on?" — Tekoäly: „Tilauksesi #4521 on parhaillaan matkalla ja sen pitäisi saapua torstaihin mennessä."

Resepti: Reaaliaikainen hinnoittelu

Yhteys: Hinnoittelu-API — https://pricing.example.com — API-avain

Päätepiste: GET /products/{'{'}productId}/price → mappaa pricecurrent_price, currencyprice_currency

Sääntö (staattinen): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Toiminnot:

  1. CALL_API → Hinnoittelupäätepiste
  2. REPLY_TEXT → „Nykyinen hinta on {'{'}current_price} {'{'}price_currency}."

Testaus

Testaa aina yhteytesi ja päätepisteesi ennen niiden käyttöä säännöissä:

  • Testaa yhteys — varmistaa, että todennus toimii (OAuth2:lle: hakee tokenin)
  • Testaa päätepiste — tekee todellisen API-kutsun esimerkkimuuttujilla ja näyttää vastauksen
  • Testaa sääntö (dry-run) — Säännöt-sivulla testaa, täsmäisikö sääntö ja mitä toimintoja suoritettaisiin

Vinkki: Aloita testaamalla yhteys, sitten kukin päätepiste, sitten koko sääntö. Näin voit eristää ongelmat kullakin tasolla.

Turvallisuus

  • Salaus levossa — kaikki tunnukset salataan libsodiumilla ennen tallennusta
  • Ei koskaan paljasteta — API-vastaukset eivät koskaan sisällä salauksen purettuja tunnuksia, vain peitettyjä arvoja
  • SSRF-suojaus — enuchat estää kutsut localhostiin, yksityisiin IP-osoitteisiin ja sisäisiin isäntänimiin
  • Aikakatkaisu — ulkoisten API-kutsujen aikakatkaisu on 5 sekuntia juuttumisen estämiseksi
  • OAuth2-tokenin välimuistitus — pääsytokenit välimuistitetaan turvallisesti ja päivitetään automaattisesti
  • Tenant-eristys — yhteydet on rajattu tenantiisi, eivätkä ole muiden käytettävissä

Valmis yhdistämään API:si?

Aloita järjestelmiesi integrointi enuchatiin tänään.

Aloita ilmaiseksi