Skip to content

Hızlı Başlangıç

Bu rehber sizi dört adımda sıfırdan akışlı bir AI yanıtına ulaştırır. Sonunda kimlik doğrulaması yapmış, bir AI oturumu oluşturmuş, bir mesaj göndermiş ve akış halinde bir yanıt almış olacaksınız.

Tüm örnekler cURL, JavaScript, Python ve Postman biçiminde mevcuttur. YOUR_API_KEY gibi yer tutucu değerleri önceki adımlardan aldığınız gerçek değerlerle değiştirin.


Ortam Değişkenleri

Bu sayfadaki herhangi bir örneği çalıştırmadan önce bunları ayarlayın:

bash
export BASE_URL="https://api.chainabit.com/api/v1"
export API_KEY="chb_sk_your_key_here"

Henüz bir API anahtarınız yok mu? API anahtarları bir Chainer aboneliği gerektirir. Hub ayarlarından nasıl anahtar üreteceğinizi öğrenmek için Geliştirici Erişimi sayfasına bakın.

Oturum tabanlı JWT kimlik doğrulamasını tercih ediyorsanız Kimlik Doğrulama sayfasına bakın.


Adım 1: Bir AI Oturumu Oluşturun

Oturum, kalıcı bir konuşma dizisidir. Tanımlamak için bir başlıkla bir tane oluşturun.

bash
curl -X POST "$BASE_URL/ai/sessions" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "My First Session"}'
javascript
const response = await fetch(`${BASE_URL}/ai/sessions`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: 'My First Session' }),
});
const { data } = await response.json();
const SESSION_ID = data.id;
python
import requests

response = requests.post(
    f"{BASE_URL}/ai/sessions",
    json={"title": "My First Session"},
    headers={"Authorization": f"Bearer {API_KEY}"},
)
data = response.json()["data"]
SESSION_ID = data["id"]

Yanıt 201 Created

json
{
  "data": {
    "id": "sess_01HQ3K5N2P4R7T9V1X3Z5A7C9E",
    "title": "My First Session",
    "status": "active",
    "createdAt": "2026-05-04T10:00:00.000Z"
  },
  "meta": null,
  "error": null
}

id değerini kopyalayın — bir sonraki adımda kullanacaksınız.

bash
export SESSION_ID="sess_01HQ3K5N2P4R7T9V1X3Z5A7C9E"

Adım 2: Bir Mesaj Gönderin

Oturuma bir mesaj gönderin. API düz metin içeriği kabul eder.

bash
curl -X POST "$BASE_URL/ai/sessions/$SESSION_ID/messages" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "What can I build with the Chainabit API?"}'
javascript
const response = await fetch(
  `${BASE_URL}/ai/sessions/${SESSION_ID}/messages`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ content: 'What can I build with the Chainabit API?' }),
  }
);
const { data } = await response.json();
const MESSAGE_ID = data.id;
python
import requests

response = requests.post(
    f"{BASE_URL}/ai/sessions/{SESSION_ID}/messages",
    json={"content": "What can I build with the Chainabit API?"},
    headers={"Authorization": f"Bearer {API_KEY}"},
)
data = response.json()["data"]
MESSAGE_ID = data["id"]

Yanıt 201 Created

json
{
  "data": {
    "id": "msg_01HQ3K7R2S5T8V2Y4A6C8E1G3I",
    "sessionId": "sess_01HQ3K5N2P4R7T9V1X3Z5A7C9E",
    "role": "user",
    "content": "What can I build with the Chainabit API?",
    "status": "pending",
    "createdAt": "2026-05-04T10:00:05.000Z"
  },
  "meta": null,
  "error": null
}
bash
export MESSAGE_ID="msg_01HQ3K7R2S5T8V2Y4A6C8E1G3I"

Adım 3: Yanıtı Akış Halinde Alın

AI yanıtını gerçek zamanlı almak için bir sunucu-gönderimli olay (SSE) akışı açın.

bash
curl "$BASE_URL/ai/sessions/$SESSION_ID/messages/$MESSAGE_ID/stream" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Accept: text/event-stream"
javascript
const eventSource = new EventSource(
  `${BASE_URL}/ai/sessions/${SESSION_ID}/messages/${MESSAGE_ID}/stream`,
  { headers: { Authorization: `Bearer ${API_KEY}` } }
);

eventSource.addEventListener('message.delta', (e) => {
  const { delta } = JSON.parse(e.data);
  process.stdout.write(delta);
});

eventSource.addEventListener('message.completed', () => {
  eventSource.close();
});
python
import requests

with requests.get(
    f"{BASE_URL}/ai/sessions/{SESSION_ID}/messages/{MESSAGE_ID}/stream",
    headers={"Authorization": f"Bearer {API_KEY}", "Accept": "text/event-stream"},
    stream=True,
) as r:
    for line in r.iter_lines():
        if line:
            print(line.decode())

SSE Çıktısı

event: message.delta
data: {"delta": "You can build"}

event: message.delta
data: {"delta": " AI-agent workflows,"}

event: message.delta
data: {"delta": " integrate connectors, and automate pipelines."}

event: message.completed
data: {"messageId": "msg_01HQ3K7R2S5T8V2Y4A6C8E1G3I", "finishReason": "stop"}

Tam yanıtı oluşturmak için message.delta olaylarını toplayın. message.completed geldiğinde akışı kapatın.


Sırada Ne Var

Built with purpose.