Mesaj Gönderme
POST /message
Sohbete yeni mesaj gönderir. Bearer JWT zorunludur. İstek gövdesi multipart/form-data olmalıdır.
Gönderim yalnızca bu REST çağrısı ile yapılır. Socket.IO mesaj göndermek için kullanılmaz.
İstek
POST /message HTTP/1.1
Host: widget-api.chatbot.aithinks.net
Authorization: Bearer <accessToken>
Content-Type: multipart/form-data
Form alanları
| Field | Tip | Açıklama |
|---|---|---|
message | string | Metin içeriği. Dosya yoksa zorunlu |
file | binary | Opsiyonel dosya eki |
Metin mesajı örneği
const form = new FormData();
form.append('message', 'Merhaba');
await fetch(`${BASE_URL}/message`, {
method: 'POST',
headers: {
Authorization: `Bearer ${accessToken}`,
// Content-Type'ı elle set etmeyin; browser boundary ekler
},
body: form,
});
Dosya mesajı örneği
const form = new FormData();
form.append('file', fileInput.files[0]);
form.append('message', 'Fatura görseli'); // opsiyonel caption / açıklama
await fetch(`${BASE_URL}/message`, {
method: 'POST',
headers: {
Authorization: `Bearer ${accessToken}`,
},
body: form,
});
Tip belirleme
Sunucu, yüklenen dosyanın MIME türüne göre mesaj tipini seçer:
| MIME grubu | Mesaj tipi |
|---|---|
| image/* | IMAGE |
| video/* | VIDEO |
| audio/* | AUDIO |
| diğer | FILE |
| dosya yok | TEXT |
Başarılı yanıt
{
"success": true
}
Gönderilen mesaj geçmişte görünür. Bot/agent cevabı Socket.IO message event'i ile gelir.
Hatalar
| Durum | Anlamı |
|---|---|
400 | Geçersiz form (ör. hem metin hem dosya yok) |
401 | Geçersiz veya eksik JWT |
404 | Aktif sohbet bulunamadı |