API Connections

Ikonekta ang inyong mga panlabas na API sa enuchat kaya ang AI at mga rule ay maaaring kumuha ng real-time na data mula sa inyong mga sistema.

Paano Gumagana

Ang API Connections ay nagpapahintulot sa inyo na i-integrate ang enuchat sa inyong sariling mga backend system — booking engines, CRMs, order management, inventory, at higit pa. Kapag nagtatanong ang isang bisita, maaaring tawagan ng enuchat ang inyong API upang makakuha ng totoong data at isama ito sa tugon.

Ang Daloy

  1. I-configure ang koneksyon — base URL at authentication ng inyong API
  2. Magdagdag ng mga endpoint — mga partikular na API call na may path templates at response mapping
  3. Gumawa ng rule — AI o static rule na may CALL_API action
  4. Magtatanong ang bisita — nag-trigger ang rule, tumatawag sa inyong API, nagma-map ng tugon sa session variables
  5. Sumasagot ang AI na may totoong data — ang session variables ay available sa AI para sa pagbuo ng tumpak na sagot

Halimbawa: Availability ng Kwarto ng Hotel

Bisita: "May available ba ang kwarto 205 sa susunod na linggo?"

Nagma-match ang AI Rule: "Kapag nagtatanong ang bisita tungkol sa availability ng kwarto"

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

Response mapped: room_available = true, price = "€120/gabi"

Sumasagot ang AI: "Ang kwarto 205 ay available sa susunod na linggo sa €120/gabi. Gusto ba ninyong i-book ito?"

Pag-set Up ng Koneksyon

Pumunta sa Settings → API Connections sa inyong dashboard.

1. Gumawa ng Koneksyon

Ang koneksyon ay kumakatawan sa isang panlabas na API. Kailangan ninyo ng:

FieldPaglalarawanHalimbawa
PangalanIsang label para sa koneksyong itoHotel Booking API
Base URLAng root URL ng APIhttps://api.hotel.com/v1
Auth TypeKung paano mag-authenticateBearer Token, OAuth2, atbp.

2. Mga Uri ng Authentication

Wala

Para sa mga pampublikong API na hindi nangangailangan ng authentication.

API Key

Nagpapadala ng static key bilang header o query parameter.

FieldPaglalarawan
KeyAng value ng inyong API key
Header NameHeader na gagamitin (default: X-Api-Key)

Ang key ay ipinapadala bilang: X-Api-Key: your_key_here

Bearer Token

Nagpapadala ng static token sa Authorization header.

Ipinapadala bilang: Authorization: Bearer your_token_here

Basic Auth

Nagpapadala ng username at password, naka-base64-encode.

Ipinapadala bilang: Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Awtomatikong kumukuha ng access token at kina-cache ito hanggang sa pag-expire. Pinakamahusay para sa mga modernong API tulad ng Salesforce, Google, o mga custom OAuth server.

FieldPaglalarawan
Token URLOAuth token endpoint (hal. https://auth.example.com/oauth/token)
Client IDAng inyong OAuth client ID
Client SecretAng inyong OAuth client secret
ScopeMga scope na pinaghihiwalay ng space (hal. read write)

Awtomatikong hinahawakan ng enuchat ang token lifecycle — kumukuha sa unang tawag, kina-cache hanggang sa pag-expire, nire-refresh kapag kinakailangan.

Seguridad: Ang lahat ng credentials ay naka-encrypt at rest gamit ang libsodium. Hindi ito kailanman na-expose sa mga API response — masked values lamang ang ipinapakita sa dashboard.

Pag-configure ng mga Endpoint

Ang bawat koneksyon ay maaaring magkaroon ng maraming endpoint — mga partikular na API call na gusto ninyong gawin.

FieldPaglalarawanHalimbawa
PangalanLabel para sa endpoint na itoSuriin ang availability
MethodHTTP methodGET, POST, PUT, DELETE
PathURL path (idinagdag sa base URL). Gamitin ang {'{'}variable} para sa mga dynamic value/rooms/{'{'}roomId}/availability
Query ParamsURL parameter bilang mga key-value pair. Sinusuportahan ng mga value ang {'{'}variable}date={'{'}checkIn}
Body TemplateJSON body para sa POST/PUT. Sinusuportahan ang {'{'}variable} interpolation{'{'}"guest": "{'{'}name}"}
Response MappingI-map ang mga JSON response field sa session variables gamit ang dot notationdata.available → room_available
PaglalarawanKonteksto para sa AI (kung anong data ang ibinabalik ng endpoint na ito)Nagbabalik ng room availability at pricing

Variable Interpolation

Gamitin ang {'{'}variableName} sa mga path, query params, at body template. Nagmumula ang mga variable sa:

  • Session variables — na-set ng mga nakaraang rule (SET_VARIABLE action)
  • Action params — naka-hardcode sa CALL_API rule action

Response Mapping

I-map ang mga JSON response field sa session variables gamit ang dot notation:

// Nagbabalik ang API ng:
{'{'}
  "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"

Ang mga naka-map na variable ay nakaimbak bilang session variables sa usapan at available sa AI para sa pagbuo ng mga tugon.

Paggamit sa mga Rule

Ang mga tawag sa API ay na-trigger ng CALL_API action sa mga rule. Maaari ninyong pagsamahin ang mga ito sa iba pang aksyon.

Recipe: Order Status Lookup

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

Endpoint: GET /orders/{'{'}orderId} → nagma-map ng data.statusorder_status, data.etadelivery_eta

Rule (uri ng AI): "Kapag nagtatanong ang bisita tungkol sa katayuan ng kanilang order o delivery"

Mga Aksyon:

  1. CALL_API → Order Status endpoint
  2. REPLY_AI → Gumagamit ang AI ng order_status at delivery_eta upang sumagot

Resulta: Bisita: "Nasaan ang order ko #4521?" — AI: "Ang inyong order #4521 ay kasalukuyang ipinadadala at dapat dumating pagsapit ng Huwebes."

Recipe: Real-Time Pricing

Koneksyon: Pricing API — https://pricing.example.com — API Key

Endpoint: GET /products/{'{'}productId}/price → nagma-map ng pricecurrent_price, currencyprice_currency

Rule (static): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i

Mga Aksyon:

  1. CALL_API → Pricing endpoint
  2. REPLY_TEXT → "Ang kasalukuyang presyo ay {'{'}current_price} {'{'}price_currency}."

Pagsubok

Palaging subukin ang inyong mga koneksyon at endpoint bago gamitin ang mga ito sa mga rule:

  • Test Connection — bina-verify kung gumagana ang authentication (para sa OAuth2: kumukuha ng token)
  • Test Endpoint — gumagawa ng totoong API call gamit ang mga sample variable at ipinapakita ang tugon
  • Test Rule (dry-run) — sa Rules page, subukan kung magma-match ang isang rule at kung anong mga aksyon ang magsasagawa

Tip: Magsimula sa pagsubok sa koneksyon, pagkatapos bawat endpoint, pagkatapos ang kumpletong rule. Sa ganitong paraan, maaaring ihiwalay ninyo ang mga isyu sa bawat antas.

Seguridad

  • Encryption at rest — ang lahat ng credentials ay naka-encrypt gamit ang libsodium bago storage
  • Hindi kailanman na-expose — ang mga API response ay hindi kailanman may kasamang decrypted credentials, masked values lamang
  • SSRF protection — hinaharang ng enuchat ang mga tawag sa localhost, mga private IP, at mga internal hostname
  • Timeout — ang mga panlabas na API call ay may 5-segundong timeout upang pigilan ang pagka-hang
  • OAuth2 token caching — ang mga access token ay secure na naka-cache at awtomatikong nire-refresh
  • Tenant isolation — ang mga koneksyon ay naka-scope sa inyong tenant, hindi naa-access ng iba

Handa na bang ikonekta ang inyong mga API?

Simulan ang pag-integrate ng inyong mga sistema sa enuchat ngayon.

Magsimula nang Libre