API ማጣቀሻ
የTenant APIን በመጠቀም enuchatን ወደ ስርዓቶችዎ ያዋህዱ። ውይይቶችን ያስተዳድሩ፣ መልዕክቶችን ይላኩ እና የክፍያ ውሂብ በፕሮግራም ይድረሱ።
ማረጋገጫ
ሁሉም የAPI ጥያቄዎች በX-Api-Key ራስጌ ውስጥ የሚላክ የAPI ቁልፍ በመጠቀም ይረጋገጣሉ።
የAPI ቁልፍዎን ማግኘት
- በዳሽቦርዱ ውስጥ ወደ ቅንብሮች → API ቁልፎች ይሂዱ
- API ቁልፍ ፍጠርን ጠቅ ያድርጉ እና ስም ይስጡት
- ቁልፉን ወዲያውኑ ይቅዱ — አንድ ጊዜ ብቻ ይታያል
- በደህና ያስቀምጡት (የአካባቢ ተለዋዋጭ፣ ሚስጥር አስተዳዳሪ)
ጥያቄዎችን ማድረግ
ቁልፉን በእያንዳንዱ ጥያቄ ያካትቱ:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsሁሉም ምላሾች JSON ናቸው። የተሳካላቸው ምላሾች data መስክ አላቸው። ስህተቶች ከcode እና message ጋር error መስክ አላቸው።
ደህንነት: የAPI ቁልፎች በውሂብ ጎታችን ውስጥ በSHA-256 ይሄዳሉ። ጥሬውን ቁልፍ በፍጹም አናከማችም። ቁልፍዎን እንደ የይለፍ ቃል ያስተናግዱት — ወደ ኮድ አይፈጽሙት ወይም በይፋ አያጋሩት።
Base URL
https://api.enuchat.com/api/v1/tenant-apiሁሉም ከታች ያሉት endpointዎች ከዚህ Base URL አንፃር ናቸው።
Endpointዎች
GET /widgets
ለመለያዎ ሁሉንም ዊጅቶች ዘርዝር።
ምላሽ
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
ውይይቶችን ዘርዝር፣ በቅርብ ጊዜ መልዕክት ቅደም ተከተል።
የQuery Parameters
| ግቤት | አይነት | መግለጫ |
|---|---|---|
status | string | በሁኔታ ያጣሩ: open፣ pending፣ closed |
widgetId | string | በዊጅት UUID ያጣሩ |
limit | integer | ከፍተኛ ውጤቶች (ነባሪ 20፣ ከፍተኛ 100) |
offset | integer | N ውጤቶችን ይዝለል |
ምሳሌ
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"ምላሽ
{'{'}
"data": [
{'{'}
"id": "019d6724-000e-...",
"widgetId": "019d19c6-7e0b-...",
"visitorId": "v-abc123",
"visitorName": "John",
"visitorEmail": "john{'@'}example.com",
"visitorLanguage": "en",
"status": "open",
"assignedTo": null,
"lastMessageAt": "2026-04-11T14:30:00+00:00",
"startedAt": "2026-04-11T14:25:00+00:00"
}
]
}GET /conversations/{'{'}id}
ከሁሉም መልዕክቶች ጋር ውይይት ያግኙ።
የQuery Parameters
| ግቤት | አይነት | መግለጫ |
|---|---|---|
limit | integer | ከፍተኛ መልዕክቶች (ነባሪ 50፣ ከፍተኛ 200) |
ምላሽ
{'{'}
"data": {'{'}
"id": "019d6724-000e-...",
"visitorLanguage": "en",
"status": "open",
"messages": [
{'{'}
"id": "019d6724-1234-...",
"role": "visitor",
"content": "Hello, how much does it cost?",
"contentLanguage": "en",
"translatedContent": "Cześć, ile to kosztuje?",
"translatedLanguage": "pl",
"isAutoReply": false,
"createdAt": "2026-04-11T14:25:30+00:00"
},
{'{'}
"id": "019d6724-5678-...",
"role": "ai",
"content": "Our plans start at €19/month...",
"isAutoReply": true,
"createdAt": "2026-04-11T14:25:32+00:00"
}
]
}
}POST /conversations/{'{'}id}/messages
ለውይይት መልዕክት ይላኩ። መልዕክቱ በውይይት ዊጅት በኩል በቀጥታ ለጎብኚው ይደርሳል።
የጥያቄ ይዘት
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| መስክ | አይነት | መግለጫ |
|---|---|---|
content | string | ያስፈልጋል። የመልዕክት ጽሑፉ። |
role | string | system (ነባሪ) ወይም operator |
ምላሽ (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
የውይይት ሁኔታ ወይም ምደባ ያዘምኑ።
የጥያቄ ይዘት
{'{'}
"status": "closed"
}| መስክ | አይነት | መግለጫ |
|---|---|---|
status | string | open፣ pending ወይም closed |
assignedTo | string|null | ለመመደብ የኦፕሬተር UUID፣ ወይም መመደብ ለማስወገድ null |
GET /billing/balance
የአሁኑ እቅድዎን እና የክሬዲት ቀሪዎን ያግኙ።
ምላሽ
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}የስህተት አያያዝ
ስህተቶች ከJSON አካል ጋር ከ2xx ውጭ የሁኔታ ኮድ ይመልሳሉ:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP ሁኔታ | ትርጉም |
|---|---|
401 | ልክ ያልሆነ፣ ጊዜ ያለፈበት ወይም የጎደለ የAPI ቁልፍ |
400 | ልክ ያልሆነ የጥያቄ ይዘት ወይም ግቤቶች |
404 | ሀብት አልተገኘም (ወይም የተለየ tenant ነው) |
500 | የአገልጋይ ስህተት |
የተለመዱ የአጠቃቀም ጉዳዮች
የCRM ውህደት
ለአዲስ ውይይቶች ይምረጡ እና የጎብኚ ውሂብ (ስም፣ ኢሜይል፣ ቋንቋ) ወደ CRMዎ ያመሳስሉ። የውይይት መለያውን እንደ ውጫዊ ማጣቀሻ ይጠቀሙ።
ራስ-ሰር ክትትሎች
ውይይት ከተዘጋ በኋላ፣ በAPI በኩል የክትትል መልዕክት ይላኩ: "ስለ ውይይትዎ አመሰግናለሁ! ሌላ ልንረዳዎት የሚችለው ነገር አለ?"
የWebhook አማራጭ
ወጪ webhooks እስኪገኙ ድረስ፣ አዲስ መልዕክቶችን ወይም የሁኔታ ለውጦችን ለመለየት የውይይቶች endpointን በየጊዜው ይምረጡ።
የጅምላ ስራዎች
ከ7 ቀናት በላይ ያሉ ሁሉንም ውይይቶች ይዝጉ፣ በውጫዊ ሎጂክ ላይ በመመስረት ለኦፕሬተሮች ውይይቶችን ይመድቡ ወይም የውይይት ታሪክን ለትንተና ወደ ውጭ ይላኩ።
የተመን ገደቦች
APIው በAPI ቁልፍ በደቂቃ እስከ 60 ጥያቄዎች ይፈቅዳል። ይህን ገደብ ካለፉ፣ 429 Too Many Requests ምላሽ ይቀበላሉ። ይጠብቁ እና በ exponential backoff እንደገና ይሞክሩ።