Dosyalar
Müşteriler fotoğraf ve belge gönderir, ekibiniz de Inbox'tan dosya gönderir. Bu dosyaların her birinin bir kimliği vardır; bunu mesajın attachments alanında görürsünüz. Bir API anahtarıyla çalışma alanınızdaki herhangi bir dosyayı kimliğiyle indirebilirsiniz: müşterinin fotoğrafını kendi uygulamanızda göstermek ya da bir belgeyi CRM'inize kaydetmek için.
Temel adres: https://peki.ai/api
Kimlik doğrulama: Authorization: Bearer psk_…, Yalnızca okuma ya da Okuma ve yazma (Kimlik doğrulama)
Kullanıcınızdan bir oturuma dosya yüklemek için Sessions API'deki Dosya yükleme bölümüne bakın.
Dosya indirme
GET /files/{id}
| Parametre | Nerede | Açıklama |
|---|---|---|
id | yol | Mesajın attachments[].id alanındaki ya da yükleme yanıtındaki dosya kimliği. |
curl https://peki.ai/api/files/671ca1c4a1b2c3d4e5f60730 \
-H "Authorization: Bearer $PEKI_API_KEY" \
-o hasarli-kutu.jpg
const res = await fetch(`https://peki.ai/api/files/${fileId}`, {
headers: { Authorization: `Bearer ${process.env.PEKI_API_KEY}` },
});
if (!res.ok) throw new Error(`Peki API ${res.status}`);
const bytes = Buffer.from(await res.arrayBuffer());
const type = res.headers.get('content-type'); // ör. "image/jpeg"
Yanıt 200, dosyanın baytlarıyla.
| Başlık | Değer |
|---|---|
Content-Type | Dosyanın türü; yüklenirken içeriğinden kontrol edilmiştir, ör. image/png ya da application/pdf. Metin dosyalarına ; charset=utf-8 eklenir. |
Content-Length | Bayt cinsinden boyut. |
Content-Disposition | Fotoğraflar için inline, belgeler için attachment; özgün dosya adıyla. |
Cache-Control | private, max-age=300. |
X-Content-Type-Options | nosniff. |
Content-Security-Policy | default-src 'none'; img-src 'self'; sandbox. |
Son iki başlık tarayıcının dosyanın içindeki herhangi bir şeyi çalıştırmasını engeller; bu yüzden dosyaları açmak her zaman güvenlidir.
Dosya kimliklerini bulma
Dosyalar mesajlarda yer alır:
{
"id": "671ca0a1a1b2c3d4e5f60720",
"role": "customer",
"text": "Kutu hasarlı geldi",
"status": "done",
"createdAt": "2026-10-26T14:05:40.102Z",
"attachments": [
{ "id": "671ca1c4a1b2c3d4e5f60730", "name": "hasarli-kutu.jpg", "contentType": "image/jpeg", "size": 284113 }
]
}
| Alan | Açıklama |
|---|---|
id | GET /files/{id} ile kullanın. |
name | Özgün dosya adı. |
contentType | Dosyanın türü. |
size | Bayt cinsinden boyut. |
Mesajları GET /sessions/{id}/messages ile alırsınız.
Neleri indirebilirsiniz
Çalışma alanınızdaki her dosyayı: kullanıcılarınızın API, web sitesi sohbeti ve Telegram üzerinden gönderdiği dosyalar, ekibinizin Inbox'tan gönderdiği dosyalar ve kayıtlardaki (Records) dosyalar. Başka bir çalışma alanına ait dosya kimliği 404 döner.
| Dosya türleri | |
|---|---|
| Fotoğraflar | JPEG, PNG, WebP, GIF |
| Belgeler | PDF, TXT, Markdown, CSV |
Dosyalar en fazla 10 MB'tır.
Hatalar
| Durum | Gövde | Neden |
|---|---|---|
401 | Invalid API key | Anahtar yok, yanlış ya da iptal edilmiş. |
404 | { "message": "File not found", "code": "file_missing" } | Kimlik yanlış, dosya başka bir çalışma alanına ait ya da silinmiş. |
Dosyalar ne kadar saklanır
- Bir mesajla gönderilen dosya, konuşması durduğu sürece saklanır.
- Hiçbir mesajla gönderilmeyen yükleme 24 saat sonra silinir.
- Bir agent'ı silmek, konuşmalarının ve bilgi kaynaklarının dosyalarını siler. Çalışma alanını silmek tüm dosyalarını siler.
Bkz. Veri ve gizlilik.
Dosyalar müşteri verisidir. Onları kendi uygulamanızda gösteriyorsanız, giriş yapmış kullanıcının o konuşmayı görmeye yetkisi olduğunu kontrol edin: API anahtarı çalışma alanınızdaki her dosyaya erişebilir.