Mesajlaşma

Sohbet özelliği, sohbet dizilerine ve sohbet dizilerindeki mesajlara göre düzenlenmektedir.

Uç Noktaları

Sohbet Dizilerini Getir

GET https://cubicl.io/api/v1/chat/threads

ChatThread[]

Mesajları Getir

GET https://cubicl.io/api/v1/chat/threads/:threadId/messages

Bir sohbet grubundaki mesajları getirir.

Path Parameters

NameTypeDescription

threadId*

string

Sohbet dizisi ID'si

limit

number

search

string

Mesaj içeriğinde aranacak metin

before

string

Mesaj ID'si. Bu mesajdan önce gönderilen son mesajlar geri dönecektir.

after

string

Mesaj ID'si. Bu mesajdan sonra gönderilen mesajlar geri dönecektir.

ChatMessage[]

Mesaj Ekle

POST https://cubicl.io/api/v1/chat/messages

Mesajlar, sohbet dizilerine veya kullanıcılara gönderilir. İki kullanıcı arasında henüz bir sohbet dizisi yoksa alıcı kullanıcı ID'si ile to parametresini ayarlamanız gerekir. İlk mesajdan sonra bir ileti dizisi oluşturulacaktır. Mevcut sohbet dizileri için thread parametresini ayarlamalısınız.

content ve files parametrelerinin her ikisi içinthread veya to parametrelerinden birisi ayarlanmalıdır.

Request Body

NameTypeDescription

thread

string

Sohbet dizisi ID'si

replyTo

string

Mesaj ID'si. Mesaj başka bir mesaja verilen cevapsa.

files

string[]

Dosyaların ID listesi

content

string

Mesaj içeriği

to

string

Kullanıcı ID'si

{
    message: ChatMessage,
    // Bu istekle yeni bir sohbet dizisi oluşturulursa bu mevcuttur.
    // Bir kullanıcı başka bir kullanıcıya ilk kez mesaj gönderdiğinde
    // yeni sohbet dizisi oluşturulur.
    thread?: ChatThread
}

Veriler

Sohbet Dizileri

Sohbet mesajları bir ileti dizisinde gönderilir. Dizilerin 3 tipi vardır:

  1. personal : 2 kullanıcı arasında gerçekleşir. Bir kullanıcı başka bir kullanıcıya mesaj gönderdiğinde oluşturulur.

  2. group : Her proje için oluşturulur. Tüm proje üyeleri bu dizinin üyesidir.

  3. custom : Kullanıcıların kendileri tarafından bir grup kullanıcı arasında oluşturulur. Bu özel bir sohbet grubudur.

type ChatThread = {
    _id: string;
    type: 'personal' | 'group' | 'custom';
    // 'type' parametresi 'group' olduğunda gereklidir.
    group?: string;
    // Sohbet dizisi adı. 'type' parametresi 'custom' olduğunda gereklidir.
    name?: string;
    // Sohbet dizisindeki kullanıcıların ID'leri.
    // 'type' parametresi 'personal' veya 'custom' olduğunda gereklidir.
    users: string[];
    // Sohbet dizisindeki son aktivitenin (mesajın) tarihi
    activity: number;
    // Mevcut kullanıcının sohbet dizisini görüntülediği tarih.
    // Daha önce erişilmediyse 0'dır.
    access: number;
    lastMessage: ChatMessage | null;
    // Son erişimden bu yana gelen yeni mesaj sayısı
    newActivityCount: number;
    createdAt: number;
}

Sohbet Mesajları

type ChatMessage = {
    _id: string;
    // Sohbet dizisinin ID'si
    thread: string;
    // Mesajı gönderen kullanıcının ID'si
    from: string;
    content: string;
    // Mesajdaki dosya ekleri. Veri biçimi için Dosyalar sayfasını kontrol edin.
    files: File[];
    // Mesajı beğenen kullanıcıların ID'leri
    likes: string[];
    dislikes: string[];
    // Bir mesaj başka bir mesaja verilen cevapsa,
    // bu cevaplanan mesaj kimliği olacaktır.
    replyTo: string | null;
    createdAt: number;
}

Last updated