API savienojumi

Savienojiet savus ārējos API ar enuchat, lai AI un noteikumi varētu iegūt reāllaika datus no jūsu sistēmām.

Kā tas darbojas

API savienojumi ļauj integrēt enuchat ar jūsu aizmugursistēmām — rezervēšanas dzinējiem, CRM, pasūtījumu pārvaldību, inventāru un citiem. Kad apmeklētājs uzdod jautājumu, enuchat var izsaukt jūsu API, lai iegūtu reālus datus un iekļautu tos atbildē.

Plūsma

  1. Konfigurējiet savienojumu — jūsu API bāzes URL un autentifikācija
  2. Pievienojiet endpoint — konkrēti API izsaukumi ar ceļa veidnēm un atbilžu kartēšanu
  3. Izveidojiet noteikumu — AI vai statisks noteikums ar CALL_API darbību
  4. Apmeklētājs uzdod jautājumu — noteikums aktivizējas, izsauc jūsu API, kartē atbildi sesijas mainīgajos
  5. AI atbild ar reāliem datiem — sesijas mainīgie ir pieejami AI precīzas atbildes ģenerēšanai

Piemērs: viesnīcas numura pieejamība

Apmeklētājs: "Vai 205. numurs ir pieejams nākamnedēļ?"

AI noteikums sakrīt: "Kad apmeklētājs jautā par numura pieejamību"

CALL_API darbība: GET https://api.hotel.com/rooms/205/availability

Atbilde kartēta: room_available = true, price = "€120/nakts"

AI atbild: "205. numurs ir pieejams nākamnedēļ par €120/nakts. Vai vēlaties to rezervēt?"

Savienojuma iestatīšana

Dodieties uz Iestatījumi → API savienojumi savā panelī.

1. Izveidojiet savienojumu

Savienojums pārstāv vienu ārēju API. Jums nepieciešams:

LauksAprakstsPiemērs
NosaukumsEtiķete šim savienojumamViesnīcas rezervēšanas API
Bāzes URLAPI saknes URLhttps://api.hotel.com/v1
Autent. tipsKā autentificētiesBearer Token, OAuth2 utt.

2. Autentifikācijas tipi

Nav

Publiskiem API, kam nav nepieciešama autentifikācija.

API atslēga

Nosūta statisku atslēgu kā galveni vai vaicājuma parametru.

LauksApraksts
AtslēgaJūsu API atslēgas vērtība
Galvenes nosaukumsIzmantojamā galvene (noklusējums: X-Api-Key)

Atslēga tiek nosūtīta kā: X-Api-Key: your_key_here

Bearer Token

Nosūta statisku žetonu Authorization galvenē.

Tiek nosūtīts kā: Authorization: Bearer your_token_here

Basic Auth

Nosūta lietotājvārdu un paroli, base64 kodētu.

Tiek nosūtīts kā: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Automātiski iegūst piekļuves žetonu un kešo to līdz derīguma termiņa beigām. Labākais mūsdienu API, piemēram, Salesforce, Google vai pielāgotiem OAuth serveriem.

LauksApraksts
Token URLOAuth žetonu endpoint (piem., https://auth.example.com/oauth/token)
Client IDJūsu OAuth klienta ID
Client SecretJūsu OAuth klienta noslēpums
ScopeAr atstarpēm atdalīti tvērumi (piem., read write)

enuchat automātiski pārvalda žetonu dzīves ciklu — iegūst pirmo reizi, kešo līdz derīguma termiņam, atsvaidzina, kad nepieciešams.

Drošība: Visi akreditācijas dati tiek šifrēti miera stāvoklī, izmantojot libsodium. Tie nekad netiek atklāti API atbildēs — panelī tiek rādītas tikai maskētas vērtības.

Endpoint konfigurēšana

Katram savienojumam var būt vairāki endpoint — konkrēti API izsaukumi, ko vēlaties veikt.

LauksAprakstsPiemērs
NosaukumsEtiķete šim endpointPārbaudīt pieejamību
MetodeHTTP metodeGET, POST, PUT, DELETE
CeļšURL ceļš (pievienots bāzes URL). Izmantojiet {'{'}variable} dinamiskiem lielumiem/rooms/{'{'}roomId}/availability
Vaicājuma parametriURL parametri kā atslēgu-vērtību pāri. Vērtības atbalsta {'{'}variable}date={'{'}checkIn}
Pamatteksta veidneJSON pamatteksts POST/PUT. Atbalsta {'{'}variable} interpolāciju{'{'}"guest": "{'{'}name}"}
Atbilžu kartēšanaKartējiet JSON atbilžu laukus uz sesijas mainīgajiem, izmantojot punktu notācijudata.available → room_available
AprakstsKonteksts AI (kādus datus šis endpoint atgriež)Atgriež numura pieejamību un cenas

Mainīgo interpolācija

Izmantojiet {'{'}variableName} ceļos, vaicājuma parametros un pamatteksta veidnēs. Mainīgie nāk no:

  • Sesijas mainīgie — iestatīti ar iepriekšējiem noteikumiem (SET_VARIABLE darbība)
  • Darbību parametri — cietkodēti CALL_API noteikuma darbībā

Atbilžu kartēšana

Kartējiet JSON atbilžu laukus uz sesijas mainīgajiem, izmantojot punktu notāciju:

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

Kartētie mainīgie tiek saglabāti kā sesijas mainīgie sarunā un ir pieejami AI atbilžu ģenerēšanai.

Izmantošana ar noteikumiem

API izsaukumus aktivizē CALL_API darbība noteikumos. Jūs varat tos apvienot ar citām darbībām.

Recepte: pasūtījuma statusa meklēšana

Savienojums: Pasūtījumu pārvaldības API — https://api.shop.com/v2 — Bearer Token

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

Noteikums (AI tips): "Kad apmeklētājs jautā par pasūtījuma statusu vai piegādi"

Darbības:

  1. CALL_API → Pasūtījuma statusa endpoint
  2. REPLY_AI → AI izmanto order_status un delivery_eta, lai atbildētu

Rezultāts: Apmeklētājs: "Kur ir mans pasūtījums #4521?" — AI: "Jūsu pasūtījums #4521 šobrīd tiek nosūtīts un tam vajadzētu pienākt līdz ceturtdienai."

Recepte: reāllaika cenas

Savienojums: Cenu API — https://pricing.example.com — API atslēga

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

Noteikums (statisks): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Darbības:

  1. CALL_API → Cenu endpoint
  2. REPLY_TEXT → "Pašreizējā cena ir {'{'}current_price} {'{'}price_currency}."

Testēšana

Vienmēr testējiet savus savienojumus un endpoint pirms to izmantošanas noteikumos:

  • Testēt savienojumu — pārbauda, vai autentifikācija darbojas (OAuth2: iegūst žetonu)
  • Testēt endpoint — veic reālu API izsaukumu ar parauga mainīgajiem un parāda atbildi
  • Testēt noteikumu (sausā pārbaude) — Noteikumu lapā testējiet, vai noteikums sakristu un kādas darbības tiktu izpildītas

Padoms: Sāciet ar savienojuma testēšanu, pēc tam katru endpoint, pēc tam pilnu noteikumu. Tā jūs varat izolēt problēmas katrā līmenī.

Drošība

  • Šifrēšana miera stāvoklī — visi akreditācijas dati tiek šifrēti, izmantojot libsodium, pirms glabāšanas
  • Nekad netiek atklāti — API atbildes nekad neietver atšifrētus akreditācijas datus, tikai maskētas vērtības
  • SSRF aizsardzība — enuchat bloķē izsaukumus uz localhost, privātiem IP un iekšējiem saimniekdatoru nosaukumiem
  • Taimauts — ārējiem API izsaukumiem ir 5 sekunžu taimauts, lai novērstu apstāšanos
  • OAuth2 žetonu kešošana — piekļuves žetoni tiek droši kešoti un automātiski atsvaidzināti
  • Nomnieku izolācija — savienojumi ir ierobežoti jūsu nomniekam, nepieejami citiem

Gatavi savienot savus API?

Sāciet integrēt savas sistēmas ar enuchat jau šodien.

Sākt bez maksas