API ਕਨੈਕਸ਼ਨ
ਆਪਣੇ ਬਾਹਰੀ APIs ਨੂੰ enuchat ਨਾਲ ਕਨੈਕਟ ਕਰੋ ਤਾਂ ਜੋ AI ਅਤੇ ਨਿਯਮ ਤੁਹਾਡੇ ਸਿਸਟਮਾਂ ਤੋਂ ਰੀਅਲ-ਟਾਈਮ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰ ਸਕਣ।
ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
API ਕਨੈਕਸ਼ਨ ਤੁਹਾਨੂੰ enuchat ਨੂੰ ਆਪਣੇ ਬੈਕਐਂਡ ਸਿਸਟਮਾਂ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਦਿੰਦੇ ਹਨ — ਬੁਕਿੰਗ ਇੰਜਣ, CRMs, ਆਰਡਰ ਪ੍ਰਬੰਧਨ, ਇਨਵੈਂਟਰੀ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ। ਜਦੋਂ ਕੋਈ ਵਿਜ਼ਟਰ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ, enuchat ਅਸਲ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਜਵਾਬ ਵਿੱਚ ਇਸਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਤੁਹਾਡੇ API ਨੂੰ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ।
ਪ੍ਰਵਾਹ
- ਇੱਕ ਕਨੈਕਸ਼ਨ ਕੌਂਫਿਗਰ ਕਰੋ — ਤੁਹਾਡੇ API ਦਾ ਬੇਸ URL ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ
- ਐਂਡਪੁਆਇੰਟ ਸ਼ਾਮਲ ਕਰੋ — ਪਾਥ ਟੈਂਪਲੇਟਾਂ ਅਤੇ ਜਵਾਬ ਮੈਪਿੰਗ ਦੇ ਨਾਲ ਖਾਸ API ਕਾਲਾਂ
- ਇੱਕ ਨਿਯਮ ਬਣਾਓ — CALL_API ਐਕਸ਼ਨ ਨਾਲ ਇੱਕ AI ਜਾਂ ਸਟੈਟਿਕ ਨਿਯਮ
- ਵਿਜ਼ਟਰ ਇੱਕ ਸਵਾਲ ਪੁੱਛਦਾ ਹੈ — ਨਿਯਮ ਟਰਿੱਗਰ ਹੁੰਦਾ ਹੈ, ਤੁਹਾਡੇ API ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਜਵਾਬ ਨੂੰ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲਾਂ ਵਿੱਚ ਮੈਪ ਕਰਦਾ ਹੈ
- AI ਅਸਲ ਡੇਟਾ ਨਾਲ ਜਵਾਬ ਦਿੰਦਾ ਹੈ — ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ ਇੱਕ ਸਹੀ ਜਵਾਬ ਤਿਆਰ ਕਰਨ ਲਈ AI ਨੂੰ ਉਪਲਬਧ ਹਨ
ਉਦਾਹਰਣ: ਹੋਟਲ ਕਮਰੇ ਦੀ ਉਪਲਬਧਤਾ
ਵਿਜ਼ਟਰ: "Is room 205 available next week?"
AI ਨਿਯਮ ਮੇਲ ਖਾਂਦਾ ਹੈ: "ਜਦੋਂ ਵਿਜ਼ਟਰ ਕਮਰੇ ਦੀ ਉਪਲਬਧਤਾ ਬਾਰੇ ਪੁੱਛਦਾ ਹੈ"
CALL_API ਐਕਸ਼ਨ: GET https://api.hotel.com/rooms/205/availability
ਜਵਾਬ ਮੈਪ ਕੀਤਾ ਗਿਆ: room_available = true, price = "€120/night"
AI ਜਵਾਬ ਦਿੰਦਾ ਹੈ: "Room 205 is available next week at €120/night. Would you like to book it?"
ਇੱਕ ਕਨੈਕਸ਼ਨ ਸੈੱਟ ਕਰਨਾ
ਆਪਣੇ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ Settings → API Connections 'ਤੇ ਜਾਓ।
1. ਇੱਕ ਕਨੈਕਸ਼ਨ ਬਣਾਓ
ਇੱਕ ਕਨੈਕਸ਼ਨ ਇੱਕ ਬਾਹਰੀ API ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਲੋੜ ਹੈ:
| ਫੀਲਡ | ਵਰਣਨ | ਉਦਾਹਰਣ |
|---|---|---|
| ਨਾਮ | ਇਸ ਕਨੈਕਸ਼ਨ ਲਈ ਇੱਕ ਲੇਬਲ | Hotel Booking API |
| Base URL | API ਦਾ ਰੂਟ URL | https://api.hotel.com/v1 |
| Auth Type | ਪ੍ਰਮਾਣਿਤ ਕਿਵੇਂ ਕਰਨਾ ਹੈ | Bearer Token, OAuth2, ਆਦਿ। |
2. ਪ੍ਰਮਾਣਿਕਤਾ ਕਿਸਮਾਂ
ਕੋਈ ਨਹੀਂ
ਉਹਨਾਂ ਜਨਤਕ APIs ਲਈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
API Key
ਇੱਕ ਸਟੈਟਿਕ ਕੁੰਜੀ ਨੂੰ ਹੈਡਰ ਜਾਂ ਕਿਊਰੀ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਭੇਜਦਾ ਹੈ।
| ਫੀਲਡ | ਵਰਣਨ |
|---|---|
| Key | ਤੁਹਾਡੀ API ਕੁੰਜੀ ਦਾ ਮੁੱਲ |
| Header Name | ਵਰਤਣ ਲਈ ਹੈਡਰ (ਡਿਫਾਲਟ: X-Api-Key) |
ਕੁੰਜੀ ਇਸ ਤਰ੍ਹਾਂ ਭੇਜੀ ਜਾਂਦੀ ਹੈ: X-Api-Key: your_key_here
Bearer Token
Authorization ਹੈਡਰ ਵਿੱਚ ਇੱਕ ਸਟੈਟਿਕ ਟੋਕਨ ਭੇਜਦਾ ਹੈ।
ਇਸ ਤਰ੍ਹਾਂ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ: Authorization: Bearer your_token_here
Basic Auth
ਯੂਜ਼ਰਨੇਮ ਅਤੇ ਪਾਸਵਰਡ ਭੇਜਦਾ ਹੈ, base64-ਐਨਕੋਡ ਕੀਤਾ ਗਿਆ।
ਇਸ ਤਰ੍ਹਾਂ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
ਆਪਣੇ ਆਪ ਇੱਕ ਐਕਸੈਸ ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਅਤੇ ਮਿਆਦ ਪੁੱਗਣ ਤੱਕ ਇਸਨੂੰ ਕੈਸ਼ ਕਰਦਾ ਹੈ। Salesforce, Google ਜਾਂ ਕਸਟਮ OAuth ਸਰਵਰਾਂ ਵਰਗੇ ਆਧੁਨਿਕ APIs ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ।
| ਫੀਲਡ | ਵਰਣਨ |
|---|---|
| Token URL | OAuth ਟੋਕਨ ਐਂਡਪੁਆਇੰਟ (ਉਦਾਹਰਣ ਲਈ https://auth.example.com/oauth/token) |
| Client ID | ਤੁਹਾਡੀ OAuth ਕਲਾਇੰਟ ID |
| Client Secret | ਤੁਹਾਡਾ OAuth ਕਲਾਇੰਟ ਸੀਕ੍ਰੇਟ |
| Scope | ਸਪੇਸ-ਵਿਭਾਜਿਤ ਸਕੋਪ (ਉਦਾਹਰਣ ਲਈ read write) |
enuchat ਟੋਕਨ ਜੀਵਨਚੱਕਰ ਨੂੰ ਆਪਣੇ ਆਪ ਸੰਭਾਲਦਾ ਹੈ — ਪਹਿਲੀ ਕਾਲ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਮਿਆਦ ਪੁੱਗਣ ਤੱਕ ਕੈਸ਼ ਕਰਦਾ ਹੈ, ਲੋੜ ਪੈਣ 'ਤੇ ਰਿਫਰੈਸ਼ ਕਰਦਾ ਹੈ।
ਸੁਰੱਖਿਆ: ਸਾਰੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ libsodium ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਥਿਰਤਾ 'ਤੇ ਐਨਕ੍ਰਿਪਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਉਹ ਕਦੇ ਵੀ API ਜਵਾਬਾਂ ਵਿੱਚ ਐਕਸਪੋਜ਼ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ — ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਸਿਰਫ਼ ਮਾਸਕ ਕੀਤੇ ਮੁੱਲ ਦਿਖਾਏ ਜਾਂਦੇ ਹਨ।
ਐਂਡਪੁਆਇੰਟ ਕੌਂਫਿਗਰ ਕਰਨਾ
ਹਰ ਕਨੈਕਸ਼ਨ ਦੇ ਕਈ ਐਂਡਪੁਆਇੰਟ ਹੋ ਸਕਦੇ ਹਨ — ਖਾਸ API ਕਾਲਾਂ ਜੋ ਤੁਸੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
| ਫੀਲਡ | ਵਰਣਨ | ਉਦਾਹਰਣ |
|---|---|---|
| ਨਾਮ | ਇਸ ਐਂਡਪੁਆਇੰਟ ਲਈ ਲੇਬਲ | Check availability |
| ਢੰਗ | HTTP ਢੰਗ | GET, POST, PUT, DELETE |
| ਪਾਥ | URL ਪਾਥ (ਬੇਸ URL ਨਾਲ ਜੋੜਿਆ ਗਿਆ)। ਗਤੀਸ਼ੀਲ ਮੁੱਲਾਂ ਲਈ {'{'}variable} ਵਰਤੋ | /rooms/{'{'}roomId}/availability |
| Query Params | ਕੁੰਜੀ-ਮੁੱਲ ਜੋੜਿਆਂ ਵਜੋਂ URL ਪੈਰਾਮੀਟਰ। ਮੁੱਲ {'{'}variable} ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ | date={'{'}checkIn} |
| Body Template | POST/PUT ਲਈ JSON ਬਾਡੀ। {'{'}variable} ਇੰਟਰਪੋਲੇਸ਼ਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ | {'{'}"guest": "{'{'}name}"} |
| Response Mapping | ਡੌਟ ਨੋਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ JSON ਜਵਾਬ ਫੀਲਡਾਂ ਨੂੰ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲਾਂ ਨਾਲ ਮੈਪ ਕਰੋ | data.available → room_available |
| ਵਰਣਨ | AI ਲਈ ਸੰਦਰਭ (ਇਹ ਐਂਡਪੁਆਇੰਟ ਕੀ ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ) | ਕਮਰੇ ਦੀ ਉਪਲਬਧਤਾ ਅਤੇ ਕੀਮਤ ਵਾਪਸ ਕਰਦਾ ਹੈ |
ਵੇਰੀਏਬਲ ਇੰਟਰਪੋਲੇਸ਼ਨ
ਪਾਥ, ਕਿਊਰੀ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਬਾਡੀ ਟੈਂਪਲੇਟਾਂ ਵਿੱਚ {'{'}variableName} ਵਰਤੋ। ਵੇਰੀਏਬਲ ਇਹਨਾਂ ਤੋਂ ਆਉਂਦੇ ਹਨ:
- ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ — ਪਿਛਲੇ ਨਿਯਮਾਂ ਦੁਆਰਾ ਸੈੱਟ ਕੀਤੇ ਗਏ (SET_VARIABLE ਐਕਸ਼ਨ)
- ਐਕਸ਼ਨ ਪੈਰਾਮੀਟਰ — CALL_API ਨਿਯਮ ਐਕਸ਼ਨ ਵਿੱਚ ਹਾਰਡਕੋਡ ਕੀਤੇ ਗਏ
ਜਵਾਬ ਮੈਪਿੰਗ
ਡੌਟ ਨੋਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ 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 ਐਕਸ਼ਨ ਦੁਆਰਾ ਟਰਿੱਗਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਹੋਰ ਕਾਰਵਾਈਆਂ ਨਾਲ ਜੋੜ ਸਕਦੇ ਹੋ।
ਵਿਧੀ: ਆਰਡਰ ਸਥਿਤੀ ਲੁੱਕਅੱਪ
ਕਨੈਕਸ਼ਨ: Order Management API — https://api.shop.com/v2 — Bearer Token
ਐਂਡਪੁਆਇੰਟ: GET /orders/{'{'}orderId} → data.status → order_status, data.eta → delivery_eta ਨੂੰ ਮੈਪ ਕਰਦਾ ਹੈ
ਨਿਯਮ (AI ਕਿਸਮ): "ਜਦੋਂ ਵਿਜ਼ਟਰ ਆਪਣੇ ਆਰਡਰ ਦੀ ਸਥਿਤੀ ਜਾਂ ਡਿਲੀਵਰੀ ਬਾਰੇ ਪੁੱਛਦਾ ਹੈ"
ਕਾਰਵਾਈਆਂ:
- CALL_API → ਆਰਡਰ ਸਥਿਤੀ ਐਂਡਪੁਆਇੰਟ
- REPLY_AI → AI ਜਵਾਬ ਦੇਣ ਲਈ
order_statusਅਤੇdelivery_etaਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ
ਨਤੀਜਾ: ਵਿਜ਼ਟਰ: "Where is my order #4521?" — AI: "Your order #4521 is currently being shipped and should arrive by Thursday."
ਵਿਧੀ: ਰੀਅਲ-ਟਾਈਮ ਕੀਮਤ
ਕਨੈਕਸ਼ਨ: Pricing API — https://pricing.example.com — API Key
ਐਂਡਪੁਆਇੰਟ: GET /products/{'{'}productId}/price → price → current_price, currency → price_currency ਨੂੰ ਮੈਪ ਕਰਦਾ ਹੈ
ਨਿਯਮ (ਸਟੈਟਿਕ): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
ਕਾਰਵਾਈਆਂ:
- CALL_API → Pricing ਐਂਡਪੁਆਇੰਟ
- REPLY_TEXT → "The current price is {'{'}current_price} {'{'}price_currency}."
ਟੈਸਟਿੰਗ
ਨਿਯਮਾਂ ਵਿੱਚ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਹਮੇਸ਼ਾ ਆਪਣੇ ਕਨੈਕਸ਼ਨਾਂ ਅਤੇ ਐਂਡਪੁਆਇੰਟਾਂ ਦੀ ਜਾਂਚ ਕਰੋ:
- Test Connection — ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਪ੍ਰਮਾਣਿਕਤਾ ਕੰਮ ਕਰਦੀ ਹੈ (OAuth2 ਲਈ: ਇੱਕ ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ)
- Test Endpoint — ਨਮੂਨਾ ਵੇਰੀਏਬਲਾਂ ਨਾਲ ਇੱਕ ਅਸਲ API ਕਾਲ ਕਰਦਾ ਹੈ ਅਤੇ ਜਵਾਬ ਦਿਖਾਉਂਦਾ ਹੈ
- Test Rule (dry-run) — Rules ਪੰਨੇ 'ਤੇ, ਟੈਸਟ ਕਰੋ ਕਿ ਇੱਕ ਨਿਯਮ ਮੇਲ ਖਾਵੇਗਾ ਜਾਂ ਨਹੀਂ ਅਤੇ ਕਿਹੜੀਆਂ ਕਾਰਵਾਈਆਂ ਚੱਲਣਗੀਆਂ
ਸੁਝਾਅ: ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਕੇ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਹਰ ਐਂਡਪੁਆਇੰਟ, ਫਿਰ ਪੂਰਾ ਨਿਯਮ। ਇਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਹਰ ਪੱਧਰ 'ਤੇ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਅਲੱਗ ਕਰ ਸਕਦੇ ਹੋ।
ਸੁਰੱਖਿਆ
- ਸਥਿਰਤਾ 'ਤੇ ਐਨਕ੍ਰਿਪਸ਼ਨ — ਸਾਰੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਟੋਰੇਜ ਤੋਂ ਪਹਿਲਾਂ libsodium ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਐਨਕ੍ਰਿਪਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
- ਕਦੇ ਵੀ ਐਕਸਪੋਜ਼ ਨਹੀਂ — API ਜਵਾਬਾਂ ਵਿੱਚ ਕਦੇ ਵੀ ਡੀਕ੍ਰਿਪਟ ਕੀਤੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦੇ, ਸਿਰਫ਼ ਮਾਸਕ ਕੀਤੇ ਮੁੱਲ
- SSRF ਸੁਰੱਖਿਆ — enuchat localhost, ਨਿੱਜੀ IPs ਅਤੇ ਅੰਦਰੂਨੀ ਹੋਸਟਨਾਮਾਂ ਦੀਆਂ ਕਾਲਾਂ ਨੂੰ ਬਲਾਕ ਕਰਦਾ ਹੈ
- ਟਾਈਮਆਉਟ — ਬਾਹਰੀ API ਕਾਲਾਂ ਨੂੰ ਲਟਕਣ ਤੋਂ ਰੋਕਣ ਲਈ 5-ਸਕਿੰਟ ਦਾ ਟਾਈਮਆਉਟ ਹੈ
- OAuth2 ਟੋਕਨ ਕੈਸ਼ਿੰਗ — ਐਕਸੈਸ ਟੋਕਨ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਕੈਸ਼ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਆਪਣੇ ਆਪ ਰਿਫਰੈਸ਼ ਹੁੰਦੇ ਹਨ
- ਕਿਰਾਏਦਾਰ ਅਲੱਗਾਪਣ — ਕਨੈਕਸ਼ਨ ਤੁਹਾਡੇ ਕਿਰਾਏਦਾਰ ਦੇ ਦਾਇਰੇ ਵਿੱਚ ਹਨ, ਦੂਜਿਆਂ ਲਈ ਪਹੁੰਚਯੋਗ ਨਹੀਂ
ਆਪਣੇ APIs ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਲਈ ਤਿਆਰ?
ਅੱਜ ਹੀ enuchat ਨਾਲ ਆਪਣੇ ਸਿਸਟਮਾਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ।
ਮੁਫ਼ਤ ਸ਼ੁਰੂ ਕਰੋ