Kabinetdə işləyən həmin məsləhətçi tətbiqinizdən də əlçatandır. Siz sessiya yaradırsınız, axını açırsınız, mesaj göndərirsiniz və cavabı hissə-hissə alırsınız. tools:chat icazəsi lazımdır.
Necə işləyir
- Sessiya yaradın - o, söhbətin kontekstini saxlayır.
- Sessiyanın hadisə axınını açın.
- Mesaj göndərin.
- Cavab tamamlanana qədər axınla hissə-hissə gəlir.
Axını mesajı göndərməzdən əvvəl açın, əks halda cavabın ilk hissələrini qaçıracaqsınız.
Sessiyalar
| Sorğu | Nə edir |
|---|---|
POST /chat/sessions | sessiya yaradır |
GET /chat/sessions | sessiyalarınız: limit 1-50 (defolt 20, daha çox - 400), cursor, q (başlıqlarda axtarış), projectId, archivedOnly, sort (recent, title) |
PATCH /chat/sessions/{id} | sessiyanı dəyişir; ən azı bir sahə |
DELETE /chat/sessions/{id} | arxivləşdirir |
POST /chat/sessions gövdəsi (hamısı məcburi deyil):
| Sahə | Təsvir |
|---|---|
title | sessiyanın adı, 200 simvola qədər |
projectId | sessiyanın aid olduğu layihə |
mode | chat_consult (defolt); istənilən başqa dəyər chat_consult ilə əvəz olunur |
PATCH /chat/sessions/{id} sahələri:
| Sahə | Təsvir |
|---|---|
title | yeni ad, 200 simvola qədər |
projectId | layihəyə köçürmək; null - layihədən çıxarmaq |
isPinned | bərkitmək və ya bərkitməni ləğv etmək |
isUnread | oxunmamış və ya oxunmuş kimi qeyd etmək |
isArchived | yalnız false - arxivləşdirilmiş sessiyanı bərpa etmək; arxivləşdirmə DELETE ilə edilir |
curl -X POST https://developers.grem.capital/api/v1/chat/sessions \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"Client question about a mortgage"}'
Cavabda sessionId olur - onu bütün sonrakı çağırışlara ötürün. Sessiya yaratmaq üçün hesab profili doldurulmuş olmalıdır; əks halda - 400.
API ümumi məsləhətçi rejimini təqdim edir. Kabinet CRM-i daxilində işləyən avtocavablandırıcı rejimini kənardan aktivləşdirmək olmur.
Mesajın göndərilməsi
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":"How much is a 2-room flat in Podil?","clientMessageId":"msg-0001"}'
clientMessageId- mesajınızın məcburi identifikatoru. Eyni identifikatora bir dəfə cavab verilir və bir dəfə ödəniş tutulur - təkrar cəhddə onu yenidən istifadə edin; bu, çatınIdempotency-Keyaçarıdır.style(məcburi deyil) - cavabın uzunluğu:short,normalvə yadetailed.
Cavab yalnız qəbul təsdiqidir; assistentin cavabı axınla gəlir.
Cavab axını
GET /chat/stream?sessionId=SESSION_ID
Authorization: Bearer gsk_live_xxx
Accept: text/event-stream
Bağlantı uzunmüddətlidir; hadisələr cavab yarandıqca gəlir:
| Hadisə | Mənası |
|---|---|
assistant.started | assistent cavab verməyə başladı |
assistant.delta | mətnin növbəti hissəsi, delta sahəsində |
assistant.done | cavab tamamlandı, tam mətn text sahəsindədir |
Bağlantı kəsilərsə, eyni sessionId ilə yenidən qoşulun: server cari cavabı əvvəldən təkrar göndərir. Ona görə assistant.started gəldikdə bu mesaj üçün topladığınız mətni təmizləyin, əks halda o, ikiqat olacaq.
Tarixçə
GET /chat/history?sessionId=SESSION_ID&limit=50 - sessiyanın saxlanılmış mesajları, ən köhnələri əvvəldə. limit 1-dən 200-ə qədər (defolt 50); növbəti səhifə - əvvəlki cavabdakı nextCursor ilə cursor. İnterfeysiniz yenidən yükləndikdən sonra söhbəti bərpa etmək üçün istifadə edin.
Ödəniş
| Əməliyyat | Ödəniş |
|---|---|
POST /chat/messages | API çağırışı + mesajın qiyməti |
sessiyalar üzrə POST, PATCH, DELETE | API çağırışı |
GET siyahı, tarixçə, axın | pulsuz |
Free tarifində gündəlik mesaj limiti var. Ondan sonra 429 alırsınız - sabah davam edin və ya tarifi dəyişin. Cavabda code: free_daily_limit və limitin sıfırlandığı 00:00 UTC-yə qədər Retry-After olur.
Əlaqəli
- TypeScript SDK - axın dəstəyi olan hazır müştəri.
- Limitlər və ödəniş
- Xətalar