Dashboard'a Dön

Belgeler

Asyntai'yi nasıl kullanacağınızı öğrenin

API Referansı

Asyntai REST API ile özel entegrasyonlar oluşturun

API Anahtarı Alın

Ücretli Plan Gerekli: API erişimi Starter, Standard ve Pro planlarda kullanılabilir. Fiyatlandırmayı görün

Genel Bakış

The Asyntai API allows you to integrate AI-powered customer support into any application. Send messages and receive intelligent responses grounded in your website content and knowledge base.

Kimlik Doğrulama

Tüm API istekleri, API anahtarınızı kullanarak kimlik doğrulama gerektirir. API anahtarınızı API Ayarları sayfasından alabilirsiniz.

API anahtarınızı şu yöntemlerden birini kullanarak isteklere dahil edin:

  • Yetkilendirme başlığı (önerilen): Authorization: Bearer YOUR_API_KEY
  • X-API-Key başlığı: X-API-Key: YOUR_API_KEY

API anahtarınızı gizli tutun. Anahtarınıza sahip olan herkes API aracılığıyla hesabınıza erişebilir. İstemci tarafı kodunda asla ifşa etmeyin.

Temel URL

https://asyntai.com/api/v1/

Endpointler

POST /chat/

Bir mesaj gönderin ve yapay zeka tarafından oluşturulan bir yanıt alın.

İstek Gövdesi

{
  "message": "What are your business hours?",
  "session_id": "user_123",      // optional
  "website_id": 1                 // optional
}
Parametre Tür Zorunlu Açıklama
message string Evet Yapay zekaya gönderilecek kullanıcı mesajı
session_id string Hayır Görüşme için benzersiz tanımlayıcı. Görüşme geçmişini korumak için aynı session_id'yi kullanın.
website_id integer Hayır Belirli web sitesi ID'si. Sağlanmazsa, birincil web siteniz kullanılır.

Yanıt

{
  "success": true,
  "response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
  "session_id": "user_123"
}

Örnek (cURL)

curl -X POST https://asyntai.com/api/v1/chat/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "What are your business hours?", "session_id": "user_123"}'

Örnek (Python)

import requests

response = requests.post(
    "https://asyntai.com/api/v1/chat/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "message": "What are your business hours?",
        "session_id": "user_123"
    }
)

data = response.json()
print(data["response"])

Örnek (JavaScript)

const response = await fetch("https://asyntai.com/api/v1/chat/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    message: "What are your business hours?",
    session_id: "user_123"
  })
});

const data = await response.json();
console.log(data.response);

GET /websites/

Hesabınızla ilişkili tüm web sitelerini listeleyin.

Yanıt

{
  "success": true,
  "websites": [
    {
      "id": 1,
      "name": "My Website",
      "domain": "example.com",
      "is_primary": true
    }
  ]
}

Örnek (cURL)

curl https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /websites/

Create a new AI agent. This does the same thing as adding a website in your dashboard: it makes the agent, reads your site, and writes the first draft of the AI instructions.

Use this to set up customers from your own software. You get back the widget ID and the code to put on the website.

İstek Gövdesi

Alan Tür Açıklama
domain string Required. The website address, for example example.com
name string Optional. A display name for the agent. Useful when one website has several agents.
crawl boolean Optional, true by default. Set it to false to create the agent without reading the website. Nothing is crawled and no instructions are written.
force boolean Optional, false by default. Set it to true to add a website you already have. The copy is stored with a number after it.

Yanıt

{
  "success": true,
  "website": {
    "id": 42,
    "domain": "example.com",
    "name": "Support agent",
    "widget_id": "asyntai_ab12cd34ef56",
    "is_primary": true,
    "crawl_started": true,
    "instructions_status": "generating",
    "job_id": "8f2c1e90-..."
  },
  "embed_code": "<script>...</script>"
}

Örnek (cURL)

curl -X POST https://asyntai.com/api/v1/websites/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "name": "Support agent"}'

Reading a website takes a few minutes, so this call answers straight away. Check when the agent is ready with the next endpoint.

Errors

Code Meaning
403 You have reached the number of websites your plan allows. The answer tells you the limit.
409 Your account already has this website. Send force as true to add it again.

GET /websites/{id}/

Get one website and see whether it is ready. Use this after you create an agent, to wait until the website has been read and the AI instructions are written.

Yanıt

{
  "success": true,
  "website": {
    "id": 42,
    "domain": "example.com",
    "name": "Support agent",
    "widget_id": "asyntai_ab12cd34ef56",
    "is_primary": true,
    "created_at": "2026-08-11T09:12:00+00:00",
    "ready": true,
    "instructions": {
      "status": "completed",
      "has_instructions": true,
      "characters": 3421
    },
    "crawl": {
      "job_id": "8f2c1e90-...",
      "status": "completed",
      "pages_crawled": 47,
      "pages_found": 50,
      "max_pages": 50,
      "completed_at": "2026-08-11T09:15:31+00:00",
      "error": ""
    },
    "knowledge_items": 47
  },
  "embed_code": "<script>...</script>"
}

The ready field is true when nothing is still running. A crawl that failed also counts as ready, because it has finished. Look at the crawl status to see what happened.

Örnek (cURL)

curl https://asyntai.com/api/v1/websites/42/ \
  -H "Authorization: Bearer YOUR_API_KEY"

GET PATCH /websites/{id}/settings/

Read or change the chat widget settings for one website. These are the same settings you see on the Customize page: colours, the name of the assistant, the first message, lead capture, and everything else.

Reading the settings

A GET request returns every setting with its current value, plus a locked list. Locked shows the settings your plan cannot change, and which plans they need.

{
  "success": true,
  "settings": {
    "ai_support_name": "AI Assistant",
    "widget_color": "#6366f1",
    "initial_message": "Hi, how can I help you?",
    "hide_branding": false,
    "...": "..."
  },
  "locked": {
    "hide_branding": ["pro", "enterprise"],
    "widget_style": ["pro", "enterprise"]
  }
}

Changing the settings

A PATCH request changes only the settings you send. Everything you leave out stays as it is.

curl -X PATCH https://asyntai.com/api/v1/websites/42/settings/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ai_support_name": "Ava", "widget_color": "#0f172a", "use_emoji": true}'
{
  "success": true,
  "updated": ["ai_support_name", "use_emoji", "widget_color"],
  "settings": { "...": "..." },
  "locked": { "...": "..." }
}

Plans

Each setting needs its own plan, the same as in the dashboard. For example, hiding the Asyntai branding needs the Pro plan, and voice input needs Standard.

Plan needed Ayarlar Examples
Any paid plan 25 widget_color, ai_support_name, initial_message
Starter ve üzeri 22 profile_picture, conversation_starters_enabled
Standard ve üzeri 25 speech_to_text_enabled, image_vision_enabled, escalation_enabled
Pro 6 hide_branding, widget_style

If you send a setting your plan does not allow, the whole request is refused with code 403 and nothing is saved. The same happens if any value is wrong, for example a colour that is not a hex code. Your settings never end up half changed.

GET PUT /websites/{id}/instructions/

Read or replace the AI instructions for one website. These are the rules that tell the assistant who it is, what it may say, and what it must not say. They are the same instructions you edit in the dashboard.

Reading

{
  "success": true,
  "instructions": "You are the support agent for Acme Tools...",
  "characters": 1979,
  "version": 7,
  "mode": "instructions",
  "ask_questions": true,
  "generation_status": "completed",
  "being_edited_by": null
}

Replacing

A PUT request replaces the whole text, the same as saving in the dashboard. There is no append mode. To add a paragraph, read the instructions, add your text, then write it back.

curl -X PUT https://asyntai.com/api/v1/websites/42/instructions/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instructions": "You are the support agent for Acme Tools...", "version": 7}'

İstek Gövdesi

Alan Tür Açıklama
instructions string Required. The complete new text. It replaces everything that was there.
version number Optional but recommended. The version you read. If somebody changed the instructions since then, your write is refused instead of overwriting their work.
mode string Optional. Either instructions or general.
ask_questions boolean Optional. Whether the assistant asks a follow-up question at the end of its answers.
force boolean Optional, false by default. Needed only when your new text is less than half the length of the current text.

How your instructions are protected

Instructions can take hours to write, so a write can be refused to protect them:

Code Meaning
400 Your new text is less than half the length of the current text. This catches a script that sends empty or cut-off text over instructions somebody spent hours on. Send force as true if you meant it.
409 The instructions changed after you read them. Read them again, apply your change, then write.
423 Somebody is editing the instructions in the dashboard right now. The answer tells you who. Try again in a couple of minutes.

Every change also saves a copy of the previous text, so an earlier version can always be restored from the dashboard.

GET /conversations/

Belirli bir oturum için görüşme geçmişini getirin.

Sorgu Parametreleri

Parametre Tür Zorunlu Açıklama
session_id string Evet Geçmişi getirilecek oturum kimliği
limit integer Hayır Döndürülecek maksimum mesaj sayısı (varsayılan: 50, maksimum: 100)

Yanıt

{
  "success": true,
  "session_id": "user_123",
  "messages": [
    {
      "role": "user",
      "content": "What are your business hours?",
      "timestamp": "2024-01-15T10:30:00Z"
    },
    {
      "role": "assistant",
      "content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
      "timestamp": "2024-01-15T10:30:01Z",
      "sender_type": "ai",
      "agent_name": null,
      "response_time_ms": 1840.5
    }
  ]
}

Bir soru ve yanıtı tek bir kayıtta saklanır, bu yüzden ikisi de aynı timestamp değerini taşır. Yanıt hızını ölçmek için birini diğerinden çıkarmayın, çünkü sonuç her zaman sıfır olur. Yanıtın gerçek süresini milisaniye cinsinden veren response_time_ms alanını kullanın.

Sohbet botu yanıtladığında sender_type değeri ai, temsilcilerinizden biri sohbeti devraldığında human olur. agent_name alanı o temsilcinin görünen adını tutar.

Örnek (cURL)

curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /sessions/

Son sohbet oturumlarınızı listeleyin. Oturum kimliklerini keşfetmek için bunu kullanın, ardından tam mesaj geçmişini almak için /conversations/ endpointine iletin.

Sorgu Parametreleri

Parametre Tür Zorunlu Açıklama
limit integer Hayır Döndürülecek son oturum sayısı (varsayılan: 20, maksimum: 100)
website_id string Hayır Oturumları belirli bir web sitesi kimliğine göre filtreleyin
source string Hayır Oturum kaynağına göre filtreleyin: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier

Yanıt

{
  "success": true,
  "sessions": [
    {
      "session_id": "session_abc123def",
      "source": "widget",
      "message_count": 5,
      "first_message": "What are your business hours?",
      "first_message_at": "2024-01-15T10:30:00Z",
      "last_message_at": "2024-01-15T10:35:00Z",
      "first_response_time_ms": 1840.5,
      "first_human_response_at": null,
      "started_at": "2024-01-15T10:29:58Z",
      "ended_at": "2024-01-15T10:41:12Z",
      "taken_over_at": null,
      "website_domain": "example.com"
    }
  ]
}

Raporlama için zaman damgası alanları

Alan Açıklama
started_at Ziyaretçinin sohbeti açtığı an. Yalnızca bileşen oturumları için vardır, çünkü API üzerinden oluşturulan oturumlar hiçbir zaman bileşen açmaz.
first_message_at Görüşmenin ilk mesajının kaydedildiği an.
first_response_time_ms İlk yanıtın ne kadar sürdüğü, milisaniye cinsinden. İlk yanıt süresi için bunu kullanın.
first_human_response_at Temsilcilerinizden birinin ilk yanıtı gönderdiği an. Sohbet botu görüşmenin tamamını yürüttüğünde değer null olur.
taken_over_at Bir temsilcinin sohbeti sohbet botundan devraldığı an.
last_message_at Görüşmenin son mesajının kaydedildiği an.
ended_at Ziyaretçinin sohbetten ayrıldığı an. Sohbetin çözüldü veya kapandı durumu yoktur, çünkü ziyaretçi her zaman geri dönüp başka bir soru sorabilir.

Tüm zaman damgaları UTC'dir ve ISO 8601 biçimini kullanır. Saat dilimini değiştiremezsiniz. Değerleri kendi raporlama aracınızda dönüştürün.

Örnek (cURL)

curl "https://asyntai.com/api/v1/sessions/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

GET /leads/

Toplanan müşteri adaylarını alın — sohbet görüşmeleri sırasında ziyaretçiler tarafından gönderilen e-posta adresleri ve telefon numaraları.

Sorgu Parametreleri

Parametre Tür Zorunlu Açıklama
limit integer Hayır Döndürülecek müşteri adayı sayısı (varsayılan: 50, maks: 100)
website_id string Hayır Müşteri adaylarını belirli bir web sitesi kimliğine göre filtreleyin

Yanıt

{
  "success": true,
  "leads": [
    {
      "session_id": "session_abc123def",
      "email": "[email protected]",
      "phone": "+1234567890",
      "page_url": "https://example.com/pricing",
      "started_at": "2024-01-15T10:30:00Z"
    }
  ]
}
Alan Tür Açıklama
session_id string Sohbet oturumu kimliği. Tam sohbet geçmişini görmek için bunu /conversations/ adresine iletin.
email dize veya null Ziyaretçi tarafından sağlanan e-posta adresi, toplanmadıysa null
phone dize veya null Ziyaretçi tarafından sağlanan telefon numarası, toplanmadıysa null
page_url dize veya null Ziyaretçinin sohbet ettiği sayfa URL'si
started_at string Sohbet oturumunun başladığı zamanın ISO 8601 zaman damgası

Örnek (cURL)

curl "https://asyntai.com/api/v1/leads/?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Örnek (Python)

import requests

response = requests.get(
    "https://asyntai.com/api/v1/leads/",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    params={"limit": 20}
)

leads = response.json()["leads"]
for lead in leads:
    print(f"{lead['email'] or ''} | {lead['phone'] or ''}")

GET /account/

Hesap bilgilerinizi ve kullanım istatistiklerinizi alın.

Yanıt

{
  "success": true,
  "account": {
    "email": "[email protected]",
    "plan": "starter",
    "messages_used": 150,
    "messages_limit": 2500
  }
}

Örnek (cURL)

curl https://asyntai.com/api/v1/account/ \
  -H "Authorization: Bearer YOUR_API_KEY"

Birden fazla web sitesi mi? Bilgi tabanı endpointleri varsayılan olarak birincil web sitenizi kullanır. Birden fazla web siteniz varsa website_id belirli birini hedeflemek için. Web sitesi kimliklerinizi şunu kullanarak bulabilirsiniz: GET /websites/.

Günlük yükleme limitleri: Bilgi tabanı yüklemeleri (metin, URL, elektronik tablo) planınıza bağlı günlük karakter limitine tabidir. Bu, gün başına tüm bilgi tabanı endpointlerinde yüklenen toplam içerik için geçerlidir.

Plan Karakter/gün
Starter300.000
Standard1.500.000
Pro6.000.000

GET /knowledge/

Bilgi tabanı kayıtlarınızı listeleyin. Bunlar, AI chatbot'unuzun soruları yanıtlamak için kullandığı içerik kaynaklarıdır.

Sorgu Parametreleri

Parametre Tür Zorunlu Açıklama
limit integer Hayır Döndürülecek kayıt sayısı (varsayılan: 50, maksimum: 100)
website_id string Hayır Web sitesi kimliğine göre filtreleyin (varsayılan olarak birincil web sitenizdir)

Yanıt

{
  "success": true,
  "entries": [
    {
      "id": "abc-123-def",
      "type": "text",
      "title": "Business Hours",
      "description": "Manual text content (150 words)",
      "created_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": "ghi-456-jkl",
      "type": "url",
      "title": "About Us - Example",
      "description": "Content from https://example.com/about",
      "created_at": "2024-01-14T09:00:00Z"
    }
  ]
}

Örnek (cURL)

curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /knowledge/text/

Bilgi tabanınıza özel metin içeriği ekleyin. AI, ziyaretçi sorularını yanıtlamak için bunu kullanacaktır.

İstek Gövdesi

{
  "title": "Return Policy",
  "content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
  "website_id": "123"
}
Parametre Tür Zorunlu Açıklama
title string Evet Bu bilgi kaydı için bir başlık
content string Evet Metin içeriği (minimum 10 karakter)
website_id string Hayır Hedef web sitesi (varsayılan olarak birincil web siteniz)

Yanıt

{
  "success": true,
  "id": "abc-123-def",
  "title": "Return Policy",
  "chunks_created": 1
}

Örnek (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'

POST /knowledge/url/

Bilgi tabanınıza bir web sayfası ekleyin. İçerik otomatik olarak getirilecek ve çıkarılacaktır.

İstek Gövdesi

{
  "url": "https://example.com/faq",
  "website_id": "123"
}
Parametre Tür Zorunlu Açıklama
url string Evet İçeriğin getirileceği URL
website_id string Hayır Hedef web sitesi (varsayılan olarak birincil web siteniz)

Yanıt

{
  "success": true,
  "id": "abc-123-def",
  "title": "FAQ - Example",
  "url": "https://example.com/faq",
  "chunks_created": 5
}

Örnek (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/faq"}'

POST /knowledge/spreadsheet/

Bilgi tabanınıza bir CSV veya Excel (.xlsx) elektronik tablosu yükleyin. Her satır ayrı bir bilgi kaydı olur; ürün katalogları, SSS listeleri, fiyat tabloları ve dizinler için idealdir.

İstek

multipart/form-data (dosya yükleme) olarak gönderin, JSON değil.

Parametre Tür Zorunlu Açıklama
file dosya Evet Bir .csv veya .xlsx dosyası. İlk satır sütun başlıkları olmalıdır. Yükleme başına maksimum satır: Starter 500, Standard 2.000, Pro 10.000. Fazla satırlar kesilir.
website_id string Hayır Hedef web sitesi (varsayılan olarak birincil web siteniz)

Yanıt

{
  "success": true,
  "id": "abc-123-def",
  "title": "products.csv",
  "rows_processed": 15,
  "chunks_created": 15
}

Örnek (cURL)

curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]"

GET /knowledge/{id}/

Bilgi tabanındaki bir kaydı, onun için saklanan metinle birlikte okuyun. id değeri GET /knowledge/ yanıtından gelir.

İçerik, sizin eklediğiniz kayıtlar için döndürülür: metin, dosyalar, elektronik tablolar, tek URL'ler ve videolar. Web sitesi taraması listede görünür, ancak sayfaları döndürülmez, çünkü kaynak kendi herkese açık web sitenizdir. Bu durumda content değeri null olur ve reason alanı nedenini açıklar.

Yanıt

{
  "success": true,
  "id": "abc-123-def",
  "type": "text",
  "title": "Business Hours",
  "description": "Manual text content (150 words)",
  "created_at": "2024-01-15T10:30:00Z",
  "chunks_count": 3,
  "content": "We are open Monday to Friday, 9am to 5pm...",
  "content_available": true,
  "char_count": 43
}

Örnek (cURL)

curl "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

DELETE /knowledge/{id}/

Bir bilgi tabanı kaydını silin. id değeri GET /knowledge/ yanıtından bulunabilir.

Yanıt

{
  "success": true,
  "message": "Knowledge base entry deleted"
}

Örnek (cURL)

curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

İpucu: Webhook'ları ayrıca şuradan da yönetebilirsiniz: API Ayarları herhangi bir kod yazmadan sayfa.

GET /webhooks/

Kayıtlı webhook'larınızı listeleyin.

Yanıt

{
  "success": true,
  "webhooks": [
    {
      "id": "abc-123-def",
      "url": "https://example.com/webhook",
      "events": ["message.received", "escalation.requested"],
      "is_active": true,
      "created_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Örnek (cURL)

curl "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST /webhooks/

Gerçek zamanlı olay bildirimleri almak için yeni bir webhook kaydedin.

Mevcut Olaylar

Olay Açıklama
message.received Bir ziyaretçi mesaj gönderdi ve yanıt aldı
conversation.started Yeni bir sohbet oturumu başlatıldı
escalation.requested AI, bir insan temsilciye yönlendirme tetikledi
takeover.started Bir insan temsilci sohbet oturumunu devraldı

İstek Gövdesi

{
  "url": "https://example.com/webhook",
  "events": ["message.received", "escalation.requested"],
  "website_id": "123"
}
Parametre Tür Zorunlu Açıklama
url string Evet Webhook POST isteklerini alacak HTTPS URL'si
events dizi Evet Abone olunacak olayların listesi (yukarıdaki tabloya bakın)
website_id string Hayır Hedef web sitesi (varsayılan olarak birincil web siteniz)

Yanıt

{
  "success": true,
  "webhook": {
    "id": "abc-123-def",
    "url": "https://example.com/webhook",
    "events": ["message.received", "escalation.requested"],
    "secret": "whsec_abc123...",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Webhook'ları doğrulama: Her webhook bir secret (yalnızca oluşturulurken gösterilir). URL'nize yapılan her POST şunu içerir: X-Webhook-Signature başlığı — gizli anahtarınızla imzalanmış istek gövdesinin HMAC-SHA256 değeri.

Örnek (cURL)

curl -X POST "https://asyntai.com/api/v1/webhooks/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/webhook", "events": ["message.received"]}'

DELETE /webhooks/{id}/

Bir webhook'u silin. id değeri GET /webhooks/ yanıtından bulunabilir.

Yanıt

{
  "success": true,
  "message": "Webhook deleted"
}

Örnek (cURL)

curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Hata Yanıtları

Tüm hata yanıtları şu formatı izler:

{
  "success": false,
  "error": "Error message describing what went wrong"
}
Durum Kodu Açıklama
400 Hatalı İstek - Geçersiz parametreler veya eksik zorunlu alanlar
401 Yetkisiz - Geçersiz veya eksik API anahtarı
429 Çok Fazla İstek - Planınız için mesaj limitine ulaşıldı
503 Hizmet Kullanılamıyor - AI hizmeti geçici olarak kullanılamıyor

Hız Sınırları

API kullanımı abonelik planınızla sınırlıdır:

  • Free: 100 mesaj/ay
  • Starter (39$/ay): 2.500 mesaj/ay
  • Standard (139$/ay): 15.000 mesaj/ay
  • Pro (449$/ay): 50.000 mesaj/ay

Yardıma mı İhtiyacınız Var?

Herhangi bir sorunuz varsa veya sorunla karşılaşırsanız, [email protected] adresinden bizimle iletişime geçin.