AI Agent ve Conversation Service API Referansı
AI AGENT SERVICE (/api/ai)
AgentsController — /api/ai/agents
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 1 | GET | /api/ai/agents/accessible | Required | Mevcut kullanıcıya erişilebilir ajanlar listesi (ApiResponse<List<AccessibleAgentDto>>) |
| 2 | POST | /api/ai/agents/chat | Required | Ajan ile chat çalıştır (senkron, ExecuteChatCommand, response: ApiResponse<AgentExecutionResultDto>) |
| 3 | POST | /api/ai/agents/chat/stream | Required | SSE streaming chat, heartbeat keep-alive 15sn aralık |
| 4 | POST | /api/ai/agents | Required | Yeni ajan oluştur (CreateAgentCommand: displayName, description, llmBackendId, modelId, systemPromptTemplateId, advancedSettings) — 201 Created |
| 5 | PUT | /api/ai/agents/{agentId:guid} | Required | Ajan güncelle (UpdateAgentCommand: displayName, description, llmBackendId, modelId, systemPromptTemplateId) |
| 6 | DELETE | /api/ai/agents/{agentId:guid} | Required | Ajan sil (soft delete, lifecycle → Archived) |
AgentSchedulesController — /api/ai/agents/schedules
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 7 | GET | /api/ai/agents/{agentId}/schedules?page={int}&pageSize={int} | Required | Ajan cron schedule'ları listesi (PaginatedList<AgentScheduleDto>) |
| 8 | POST | /api/ai/agents/{agentId}/schedules | Required | Cron schedule oluştur — 201 Created (CreateAgentScheduleCommand: cronExpression, enabled, payload) |
| 9 | PUT | /api/ai/agents/schedules/{scheduleId:guid} | Required | Schedule güncelle (UpdateAgentScheduleCommand) |
| 10 | DELETE | /api/ai/agents/schedules/{scheduleId:guid} | Required | Schedule sil |
ChannelConfigController — /api/ai/channels
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 11 | GET | /api/ai/channels?agentId={guid} | Required | Kanal yapılandırmaları listesi (WhatsApp, Slack, Teams, Telegram) |
| 12 | POST | /api/ai/channels | Required | Yeni kanal yapısı oluştur (CreateChannelConfigCommand: type, settings) |
| 13 | PUT | /api/ai/channels/{channelId:guid} | Required | Kanal güncelle |
| 14 | DELETE | /api/ai/channels/{channelId:guid} | Required | Kanal sil |
GuardrailsController — /api/ai/guardrails
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 15 | GET | /api/ai/guardrails?agentId={guid} | Required | Input/output guardrail'leri listesi (List<GuardrailDto>) |
| 16 | POST | /api/ai/guardrails | Required | Yeni guardrail ekle — 201 Created (CreateGuardrailCommand: type, rules) |
| 17 | PUT | /api/ai/guardrails/{guardrailId:guid} | Required | Guardrail güncelle |
| 18 | DELETE | /api/ai/guardrails/{guardrailId:guid} | Required | Guardrail sil |
SkillsController — /api/ai/skills
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 19 | GET | /api/ai/skills?agentId={guid}&page={int}&pageSize={int} | Required | Beceri listesi (PaginatedList<SkillDto>) |
| 20 | POST | /api/ai/skills | Required | Yeni beceri oluştur — 201 Created (CreateSkillCommand: key, name, description, domainContext) |
| 21 | PUT | /api/ai/skills/{skillId:guid} | Required | Beceri güncelle |
| 22 | DELETE | /api/ai/skills/{skillId:guid} | Required | Beceri sil |
WidgetConfigController — /api/ai/widgets
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 23 | GET | /api/ai/widgets?agentId={guid} | Required | Widget yapılandırması (WidgetConfigDto) |
| 24 | POST | /api/ai/widgets | Required | Widget oluştur — 201 Created (CreateWidgetConfigCommand: brandColor, fontFamily, position, welcomeMessage, placeholder, originWhitelist) |
| 25 | PUT | /api/ai/widgets/{widgetId:guid} | Required | Widget güncelle |
| 26 | DELETE | /api/ai/widgets/{widgetId:guid} | Required | Widget sil |
AI CONVERSATION SERVICE (/api/conversations)
ConversationsController — /api/conversations
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 1 | GET | /api/conversations?agentId={guid}&statusFilter={int}&page={int}&pageSize={int} | Required | Konuşma listesi (PaginatedList<ConversationDto> — BUGÜN, BU HAFTA, DAHA ÖNCE grupları) |
| 2 | POST | /api/conversations | Required | Yeni konuşma başlat — 201 Created (CreateConversationCommand: agentId, title) |
| 3 | GET | /api/conversations/{conversationId:guid} | Required | Konuşma detayı (ConversationDetailDto — mesajlar, agent bilgisi) |
| 4 | PUT | /api/conversations/{conversationId:guid} | Required | Konuşma güncelle (UpdateConversationCommand: title) |
| 5 | DELETE | /api/conversations/{conversationId:guid} | Required | Konuşma sil |
| 6 | GET | /api/conversations/{conversationId:guid}/messages?page={int}&pageSize={int} | Required | Mesaj listesi (PaginatedList<ConversationMessageDto>) |
EscalationsController — /api/conversations/escalations
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 7 | GET | /api/conversations/escalations?statusFilter={int}&page={int}&pageSize={int} | Required | Eskalasyon listesi (PaginatedList<EscalationDto> — öncelik: Normal/Yüksek/Acil) |
| 8 | POST | /api/conversations/escalations | Required | Manuel eskalasyon oluştur — 201 Created (CreateEscalationCommand: conversationId, priority, reason) |
| 9 | PUT | /api/conversations/escalations/{escalationId:guid} | Required | Eskalasyon durumu güncelle (→ Open → Pending → Resolved) |
| 10 | POST | /api/conversations/escalations/{escalationId:guid}/resolve | Required | Çözüldü olarak işaretle |
InternalConversationsController — internal routing
| # | Method | Route | Auth | Description |
|---|---|---|---|---|
| 11 | GET | /api/conversations/internal/{conversationId:guid} | InternalAPI Key | Konuşma geçmişi (destek temsilcisi için) |