API холболтууд

Өөрийн гадаад API-уудыг enuchat-д холбож, AI болон дүрмүүд системээсээ бодит цагийн өгөгдлийг татаж авах боломжтой болгоорой.

Хэрхэн ажилладаг вэ

API холболтууд нь enuchat-ыг өөрийн backend системтэй — захиалгын хөдөлгүүр, CRM, захиалгын удирдлага, агуулах болон бусадтай интеграцчлах боломжийг танд олгоно. Зочин асуулт асуухад enuchat нь API-г дуудаж, бодит өгөгдөл авч, хариуд нь оруулж болно.

Урсгал

  1. Холболт тохируулах — API-ийн үндсэн URL ба баталгаажуулалт
  2. Endpoint нэмэх — зам загвар ба хариу зураглалтай тодорхой API дуудлага
  3. Дүрэм үүсгэх — CALL_API үйлдэлтэй AI эсвэл статик дүрэм
  4. Зочин асуулт асуух — дүрэм идэвхжиж, таны API-г дуудаж, хариуг сессийн хувьсагчид зуралдуулна
  5. AI бодит өгөгдлөөр хариулах — сессийн хувьсагчууд нь үнэн зөв хариулт үүсгэхэд AI-д боломжтой

Жишээ: Зочид буудлын өрөөний боломж

Зочин: "Ирэх долоо хоногт 205-р өрөө байгаа юу?"

AI дүрэм таарна: "Зочин өрөөний боломжийн талаар асуух үед"

CALL_API үйлдэл: GET https://api.hotel.com/rooms/205/availability

Хариу зураглагдсан: room_available = true, price = "€120/шөнө"

AI хариу: "205-р өрөө ирэх долоо хоногт €120/шөнөөр боломжтой байна. Та захиалмаар байна уу?"

Холболт тохируулах

Самбартаа Settings → API Connections руу ор.

1. Холболт үүсгэх

Холболт нь нэг гадаад API-г төлөөлдөг. Танд хэрэгтэй зүйл:

ТалбарТайлбарЖишээ
НэрЭнэ холболтын шошгоЗочид буудлын захиалгын API
Үндсэн URLAPI-ийн үндсэн URLhttps://api.hotel.com/v1
Баталгаажуулалтын төрөлХэрхэн баталгаажуулахBearer Token, OAuth2 гэх мэт

2. Баталгаажуулалтын төрлүүд

Байхгүй

Баталгаажуулалт шаарддаггүй нийтийн API-д зориулсан.

API түлхүүр

Статик түлхүүрийг header эсвэл query параметр болгон илгээнэ.

ТалбарТайлбар
ТүлхүүрТаны API түлхүүрийн утга
Header-ын нэрАшиглах header (үндсэн: X-Api-Key)

Түлхүүр дараах байдлаар илгээгдэнэ: X-Api-Key: your_key_here

Bearer Token

Authorization header-т статик токен илгээнэ.

Ингэж илгээгдэнэ: Authorization: Bearer your_token_here

Basic Auth

Хэрэглэгчийн нэр, нууц үгийг base64 кодчилолтоор илгээнэ.

Ингэж илгээгдэнэ: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Хандалтын токеныг автоматаар татаж, хугацаа дуустал кэшэнд хадгална. Salesforce, Google зэрэг орчин үеийн API эсвэл тусгай OAuth серверт тохиромжтой.

ТалбарТайлбар
Token URLOAuth токений endpoint (жишээ нь https://auth.example.com/oauth/token)
Client IDТаны OAuth client ID
Client SecretТаны OAuth client secret
ScopeЗайгаар тусгаарласан scope (жишээ нь read write)

enuchat нь токений амьдралын циклийг автоматаар зохицуулна — эхний дуудлага дээр татаж, хугацаа дуустал кэшэнд хадгалж, хэрэгтэй үед сэргээдэг.

Аюулгүй байдал: Бүх эрх нь libsodium ашиглан амрах үед шифрлэгддэг. Тэдгээр нь API хариуд ил гардаггүй — зөвхөн далдалсан утгууд самбарт харуулагдана.

Endpoint тохируулах

Холболт тус бүрт олон endpoint байж болно — хийхийг хүссэн тодорхой API дуудлагууд.

ТалбарТайлбарЖишээ
НэрЭнэ endpoint-ын шошгоБоломж шалгах
MethodHTTP methodGET, POST, PUT, DELETE
ЗамURL зам (үндсэн URL-д нэмэгдэнэ). Динамик утгуудад {'{'}variable} ашигла/rooms/{'{'}roomId}/availability
Query параметрТүлхүүр-утгын хос URL параметр. Утгуудад {'{'}variable} дэмжинэdate={'{'}checkIn}
Body загварPOST/PUT-д зориулсан JSON биет. {'{'}variable} орлуулалтыг дэмждэг{'{'}"guest": "{'{'}name}"}
Хариу зураглалтЦэгэн тэмдэглэгээ ашиглан JSON хариуны талбаруудыг сессийн хувьсагчтай зурагланаdata.available → room_available
ТайлбарAI-д контекст (энэ endpoint ямар өгөгдөл буцаадаг тухай)Өрөөний боломж ба үнийг буцаадаг

Хувьсагчийн орлуулалт

Зам, query параметр, body загварт {'{'}variableName}-г ашиглана. Хувьсагчид дараахаас гардаг:

  • Сессийн хувьсагч — өмнөх дүрмээр тохируулсан (SET_VARIABLE үйлдэл)
  • Үйлдлийн параметрүүд — CALL_API дүрмийн үйлдэлд hard-code хийгдсэн

Хариу зураглалт

JSON хариуны талбаруудыг цэгэн тэмдэглэгээ ашиглан сессийн хувьсагчтай зураглана:

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

Зураглагдсан хувьсагчууд нь харилцан ярианд сессийн хувьсагч болон хадгалагдаж, AI хариу үүсгэхэд ашиглагдах боломжтой.

Дүрэмтэй ашиглах

API дуудлагууд нь дүрмүүдийн CALL_API үйлдлээр идэвхждэг. Та үүнийг бусад үйлдлүүдтэй хослуулж болно.

Жор: Захиалгын статус хайлт

Холболт: Захиалгын удирдлагын API — https://api.shop.com/v2 — Bearer Token

Endpoint: GET /orders/{'{'}orderId} → зураглана data.statusorder_status, data.etadelivery_eta

Дүрэм (AI төрөл): "Зочин захиалгын статус эсвэл хүргэлтийн талаар асуух үед"

Үйлдлүүд:

  1. CALL_API → Захиалгын статус endpoint
  2. REPLY_AI → AI нь order_status ба delivery_eta-г ашиглан хариулна

Үр дүн: Зочин: "Миний #4521 захиалга хаана байна?" — AI: "Таны #4521 захиалга одоогоор тээвэрлэгдэж байгаа бөгөөд Пүрэв гараг хүртэл хүргэгдэх ёстой."

Жор: Бодит цагийн үнэ

Холболт: Үнийн API — https://pricing.example.com — API түлхүүр

Endpoint: GET /products/{'{'}productId}/price → зураглана pricecurrent_price, currencyprice_currency

Дүрэм (статик): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Үйлдлүүд:

  1. CALL_API → Үнийн endpoint
  2. REPLY_TEXT → "Одоогийн үнэ нь {'{'}current_price} {'{'}price_currency}."

Турших

Холболт ба endpoint-ыг дүрмэнд ашиглахаасаа өмнө үргэлж шалгаарай:

  • Холболтыг турших — баталгаажуулалт ажиллаж байгааг шалгана (OAuth2-д: токен татдаг)
  • Endpoint-ыг турших — дээжийн хувьсагчтай жинхэнэ API дуудлага хийж, хариуг харуулдаг
  • Дүрэм турших (dry-run) — Rules хуудсан дээр, дүрэм таарах эсэх, ямар үйлдлүүд гүйцэтгэгдэх эсэхийг турш

Зөвлөгөө: Холболтыг турших, дараа нь endpoint бүрийг, дараа нь бүрэн дүрмийг туршиж эхэлнэ. Ингэснээр та түвшин бүрт асуудлыг тусгаарлаж чадна.

Аюулгүй байдал

  • Амрах үеийн шифрлэлт — бүх эрх хадгалахаасаа өмнө libsodium ашиглан шифрлэгддэг
  • Хэзээ ч ил гарахгүй — API хариултууд хэзээ ч шифрлэгдээгүй эрхийг агуулдаггүй, зөвхөн далдалсан утгуудыг
  • SSRF хамгаалалт — enuchat нь localhost, хувийн IP, дотоод hostname руу дуудлагыг блоклодог
  • Timeout — гадаад API дуудлага нь унжихаас сэргийлэхийн тулд 5 секундын timeout-тэй
  • OAuth2 токений кэш — хандалтын токенууд аюулгүй кэшлэгдсэн, автоматаар сэргээгддэг
  • Tenant тусгаарлалт — холболтууд нь танай tenant-д хамаарах бөгөөд бусдад боломжгүй

API-уудаа холбоход бэлэн үү?

Өнөөдөр системээ enuchat-тай нэгтгэж эхлээрэй.

Үнэгүй эхлэх