Base URL
Base URL: https://apigw.vardast.chat/uaa/public
Kimlik Doğrulama
API Anahtarı
İsteklerinizde X-API-Key başlığını ayarlayın.
"X-API-Key": "VdHRqM5x2h18QVj29298Ae3MZ6PG3f3-m6RJ6Yxeg1Q"
Sohbet
Mesaj işleme
- Endpoint: POST /messenger/api/chat/public/process
- Request Body: PublicChatRequest
{
"message": "string",
"channel_id": "string",
"contact_id": "string",
"assistant_id": "string | null" // Optional, defaults to channel's assistant
}
- Response:
{
"status": "success | error",
"message_id": "uuid", // ID of the saved message if successful
"response": "string", // The AI response if successful
"error": "string" // Error message if failed
}
Kişinin Mesajlarını Getirme
- Endpoint: GET /messenger/api/chat/{channel_id}/{contact_id}/
- Query Parameters:
- page: int (opsiyonel, default=1) - Sayfa numarası
- size: int (opsiyonel, default=20) - Sayfa başına öğe sayısı
- Response: PaginatedResponse[MessageResponse]
{
"items": [
{
"id": "uuid",
"text": "string",
"platform": "string",
"sender_id": "string",
"receiver_id": "string",
"is_output": "boolean",
"ai_created": "boolean",
"channel_id": "uuid",
"timestamp": "datetime",
"is_in_thread": "boolean"
}
],
"total": "int",
"page": "int",
"size": "int",
"pages": "int"
}
Tüm Kişileri Getirme
- Endpoint: GET /messenger/api/chat/contacts/
- Query Parameters:
- page: int (opsiyonel, default=1) - Sayfa numarası
- size: int (opsiyonel, default=20) - Sayfa başına öğe sayısı
- channel_ids: string (opsiyonel) - Virgülle ayrılmış kanal kimlikleri listesi
- platform: string (opsiyonel) - Platforma göre filtrele (TELEGRAM, INSTAGRAM, vb.)
- Response: PaginatedResponse[ContactResponse]
{
"items": [
{
"id": "uuid",
"name": "string",
"username": "string",
"identifier": "string",
"platform": "string",
"channel_id": "uuid",
"is_stopped": "boolean",
"created_at": "datetime",
"updated_at": "datetime"
}
],
"total": "int",
"page": "int",
"size": "int",
"pages": "int"
}
Kanallar
Tüm Kanalları Getirme
- Endpoint: GET /messenger/api/channel/
- Response: ChannelResponse listesi
{
"items": [
{
"id": "uuid",
"name": "string",
"platform": "INSTAGRAM | TELEGRAM | BALE",
"user_id": "string",
"identifier": "string",
"access_token": "string",
"assistant": "string | null",
"is_stopped": "boolean",
"reply_to_story": "boolean",
"reply_to_comments": "boolean",
"account_id": "string",
"created_at": "datetime",
"updated_at": "datetime"
}
]
}
Asistanlar
Asistanları Getirme
- Endpoint: GET /messenger/api/assistants/
- Response: Oluşturulma tarihine göre sıralanmış asistan listesi (en yeniden en eskiye)
{
"items": [
{
"id": "uuid",
"assistant_name": "string",
"model": "string",
"api_key": "string",
"kb_id": "uuid | null",
"functions": ["string"] | null,
"user_id": "uuid",
"created_at": "datetime",
"updated_at": "datetime"
}
]
}
Asistan Oluşturma
- Endpoint: POST /messenger/api/assistants/
- Request Body: AssistantCreate
{
"assistant_name": "string",
"model": "string",
"api_key": "string",
"kb_id": "uuid | null",
"functions": ["string"] | null
}
Promptlar
Prompt Oluşturma
- Endpoint: POST /messenger/api/prompts/
- Request Body: PromptCreate
{
"assistant_id": "UUID",
"text": "string",
"prompt_json": "object",
"language": "FA | EN", // Defaults to "EN"
"created_by": "string"
}
- Response: Prompt
{
"prompt_id": "uuid",
"created_at": "datetime",
"updated_at": "datetime",
"user_id": "uuid"
}
Prompt Getirme
- Endpoint: GET /messenger/api/prompts/{prompt_id}
- Response: Prompt
{
"prompt_id": "uuid",
"assistant_id": "uuid",
"text": "string",
"prompt_json": "object",
"language": "FA | EN",
"created_by": "string",
"created_at": "datetime",
"updated_at": "datetime",
"user_id": "uuid"
}
Kanal Kişilerini Getirme
GET /report/channel/{channel_id}/contacts
Belirli bir kanala ait kişileri sayfalama desteğiyle getirir.
Query Parameters:
- id: UUID (opsiyonel) - Belirli bir kişiyi getir
- page: int (opsiyonel, ≥1) - Sayfa numarası
- page_size: int (opsiyonel, ≥1, ≤100) - Sayfa başına öğe sayısı
Response Schema:
{
"items": [
{
"id": "UUID",
"contact_id": "UUID",
"channel_id": "UUID",
"full_name": "string",
"phone_number": "string",
"detailed_address": "string",
"postal_code": "string (optional)",
"username": "string (optional)",
"platform": "string (optional)",
"comment": "string (optional)",
"order_list": [
{
"product_name": "string",
"quantity": "int",
"variants": "string (optional)"
}
],
"created_at": "datetime (optional)"
}
],
"total": "int",
"page": "int",
"size": "int",
"pages": "int"
}
Kanal Siparişlerini Getirme
GET /report/channel/{channel_id}/orders
Belirli bir kanala ait siparişleri sayfalama desteğiyle getirir.
Query Parameters:
- order_id: UUID (opsiyonel) - Belirli bir siparişi getir
- page: int (opsiyonel, ≥1) - Sayfa numarası
- page_size: int (opsiyonel, ≥1, ≤100) - Sayfa başına öğe sayısı
Response Schema:
{
"items": [
{
"id": "UUID",
"contact_id": "UUID",
"channel_id": "UUID",
"full_name": "string",
"phone_number": "string",
"detailed_address": "string",
"postal_code": "string (optional)",
"username": "string (optional)",
"platform": "string (optional)",
"comment": "string (optional)",
"order_list": [
{
"product_name": "string",
"quantity": "int",
"variants": "string (optional)"
}
],
"created_at": "datetime (optional)"
}
],
"total": "int",
"page": "int",
"size": "int",
"pages": "int"
}
Kullanım
Kullanıcı Kullanım Bilgisini Getirme
- Endpoint: GET /payment/get-usage-info/
- Response: UsageResponseSchema
{
"status": "string",
"response": {
"user_id": "uuid",
"mode": "string",
"active_features": {
"feature_name": "boolean"
},
"chat_credit": "integer",
"all_chat_credit": "integer",
"total_chats": "integer",
"contact_credit": "integer",
"total_contacts": "integer",
"is_allowed": "boolean",
"next_due_date": "datetime",
"time_credit": "datetime"
}
}
Kullanım Etkinliğini Getirme
- Endpoint: GET /payment/get-usage-activity/
- Query Parameters:
- feature: string (zorunlu: id, date, mode, period)
- activity_id: uuid (feature=id ise zorunlu)
- date: datetime (feature=date ise zorunlu)
- mode: string (feature=mode ise zorunlu)
- start_date: string (feature=period ise zorunlu)
- end_date: string (feature=period ise zorunlu)
- Response: UsageActivityResponseSchema
{
"status": "string",
"response": {
"id": "uuid",
"user_id": "uuid",
"date": "date",
"new_contacts": "integer",
"message_requests": "integer"
}
}
Kullanım Etkinliği Özet Yanıtı
{
"status": "string",
"response": [
{
"date": "date | string",
"total_new_contacts": "integer",
"total_message_requests": "integer"
}
]
}
Hata Yanıtları
Tüm endpoint'ler aşağıdaki hata yanıtlarını döndürebilir:
- 401 Unauthorized: Kimlik doğrulama başarısız olduğunda
- 404 Not Found: İstenen kaynak bulunamadığında
- 500 Internal Server Error: Beklenmedik bir hata oluştuğunda
Hata yanıtı formatı:
{
"detail": "Error message"
}