Panelde çalışan danışmanın aynısı uygulamanızdan da kullanılabilir. Bir oturum oluşturur, akışı açar, bir mesaj gönderir ve yanıtı parça parça alırsınız. tools:chat kapsamı gerekir.
Nasıl çalışır
- Bir oturum oluşturun: konuşmanın bağlamını saklar.
- Oturumun olay akışını açın.
- Bir mesaj gönderin.
- Yanıt tamamlanana kadar akış üzerinden parça parça gelir.
Akışı mesajı göndermeden önce açın; aksi hâlde yanıtın ilk parçalarını kaçırırsınız.
Oturumlar
| İstek | Ne yapar |
|---|---|
POST /chat/sessions | oturum oluşturma |
GET /chat/sessions | oturumlarınız: limit 1-50 (varsayılan 20, fazlası 400), cursor, q (başlıklarda arama), projectId, archivedOnly, sort (recent, title) |
PATCH /chat/sessions/{id} | oturumu değiştirme; en az bir alan |
DELETE /chat/sessions/{id} | arşivleme |
POST /chat/sessions gövdesi (hepsi isteğe bağlı):
| Alan | Açıklama |
|---|---|
title | oturum adı, en fazla 200 karakter |
projectId | oturumun ait olduğu proje |
mode | chat_consult (varsayılan); başka her değer chat_consult ile değiştirilir |
PATCH /chat/sessions/{id} alanları:
| Alan | Açıklama |
|---|---|
title | yeni ad, en fazla 200 karakter |
projectId | bir projeye taşıma; null, projeden çıkarma |
isPinned | sabitleme veya sabitlemeyi kaldırma |
isUnread | okunmadı veya okundu olarak işaretleme |
isArchived | yalnızca false: arşivlenmiş oturumu geri getirme; arşivleme DELETE ile |
curl -X POST https://developers.grem.capital/api/v1/chat/sessions \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"Müşterinin konut kredisi sorusu"}'
Yanıt sessionId içerir: sonraki her çağrıda bunu verin. Oturum oluşturmak için hesap profilinin tamamlanmış olması gerekir; aksi hâlde 400.
API genel danışman modunu sunar. Panelin CRM'inde çalışan otomatik yanıt modu dışarıdan açılamaz.
Mesaj gönderme
curl -X POST https://developers.grem.capital/api/v1/chat/messages \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"sessionId":"SESSION_ID","text":"Podil'\''de 2 odalı bir daire ne kadar?","clientMessageId":"msg-0001"}'
clientMessageId: mesajın zorunlu kimliği. Aynı kimlik bir kez yanıtlanır ve bir kez ücretlendirilir: tekrarlarken aynısını kullanın; sohbetinIdempotency-Keykarşılığıdır.style(isteğe bağlı): yanıt uzunluğu,short,normalveyadetailed.
Yanıt yalnızca bir onaydır; asistanın yanıtı akış üzerinden gelir.
Yanıt akışı
GET /chat/stream?sessionId=SESSION_ID
Authorization: Bearer gsk_live_xxx
Accept: text/event-stream
Bağlantı uzun ömürlüdür; olaylar yanıt üretildikçe gelir:
| Olay | Anlamı |
|---|---|
assistant.started | asistan yanıtlamaya başladı |
assistant.delta | metnin sonraki parçası, delta içinde |
assistant.done | yanıt tamamlandı, tam metin text içinde |
Bağlantı koparsa aynı sessionId ile yeniden bağlanın: sunucu mevcut yanıtı baştan yeniden oynatır. Bu yüzden assistant.started geldiğinde bu mesaj için biriktirdiğiniz metni temizleyin; aksi hâlde iki kez görünür.
Geçmiş
GET /chat/history?sessionId=SESSION_ID&limit=50: oturumun saklanan mesajları, eskiden yeniye. limit 1 ile 200 arası (varsayılan 50); sonraki sayfa için önceki yanıttaki nextCursor değerini cursor olarak gönderin. Arayüzünüz yeniden yüklendikten sonra konuşmayı geri getirmek için kullanın.
Ücretlendirme
| İşlem | Ücret |
|---|---|
POST /chat/messages | API çağrısı + mesaj ücreti |
Oturumlarda POST, PATCH, DELETE | API çağrısı |
GET liste, geçmiş, akış | ücretsiz |
Free planında günlük mesaj limiti vardır. Sonrasında 429 gelir: yarın devam edin veya planı değiştirin. Yanıt code: free_daily_limit ve limitin sıfırlandığı 00:00 UTC'ye kadar Retry-After taşır.
İlgili makaleler
- TypeScript SDK: akış desteği olan hazır bir istemci.
- Limitler ve ücretlendirme
- Hatalar