Pisano Harici API - Dosyalar - Dosya Yükleme
Dosya Yükleme
Mevcut bir Pisano dosya servisi dizinine dosya yükler. Bu işlemden önce dizinin oluşturulmuş olması ve istekte ilgili directory_id değerinin kullanılması gerekir.
POST
/v2/file_service/directory/:directory_id/files
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="<API_TOKEN>"
İstek
Yol Parametreleri
| Parametre | Tip | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|
directory_id |
string | Evet | Hedef dosya servisi dizininin ID bilgisi. | <directory_id> |
Header Bilgileri
| Header | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
Accept |
Hayır | Beklenen yanıtın medya türünü belirtir. | application/json |
Authorization |
Evet | İsteğin kimlik doğrulamasını sağlamak için kullanılan Pisano API anahtarı. | Token token="<API_TOKEN>" |
Content-Type |
Hayır | İstek içeriğinin türünü belirtir. Multipart yüklemelerinde multipart/form-data değeri HTTP istemcisi tarafından otomatik olarak oluşturulabilir. | multipart/form-data |
İstek Gövdesi
file=@"<FILE_PATH>"
filename="<FILE_NAME>"
multipart/form-data
İstek Gövdesi Alanları
| Alan | Tip | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|
file |
file | Evet | Yüklenecek dosya. | <FILE_PATH> |
filename |
string | Hayır | Yüklenen dosya kaydı için isteğe bağlı dosya adı. Bu alan gönderilmezse orijinal dosya adı kullanılır. Bir değer gönderilirse yüklenen dosyanın adı olarak bu değer kullanılır. | <FILE_NAME> |
İstek Örneği
cURL
İstek Örneği
curl --location --request POST \
'http://API_HOST/v2/file_service/directory/<directory_id>/files' \
--header 'accept: application/json' \
--header 'authorization: Token token="<API_TOKEN>"' \
--form 'file=@"<FILE_PATH>"' \
--form 'filename="<FILE_NAME>"'
Yanıtlar
200
Başarılı
Oluşturulan dosya servisi kaydını döndürür.
Yanıt Şeması
object string
└── url string
data object
├── id string
├── object string
├── filename string
├── url string
├── proxy_url string
├── directory string
├── directory_id string
├── user_id string
├── created_at datetime
└── expired_at datetime / null
Yanıt Alanları
| Alan | Tip | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|
object |
string | Yanıt nesnesinin türü. | file_service::file |
|
url |
string | Dosya servisi endpoint yolu. | /v2/file_service/directory/<directory_id>/files |
|
data.id |
string | Dosya kaydının ID bilgisi. | <file_entry_id> |
|
data.object |
string | Dosya kaydı nesnesinin türü. | file_service::file |
|
data.filename |
string | Yüklenen dosyanın adı. | <FILE_NAME> |
|
data.url |
string | Dosya URL'si. | <file_url> |
|
data.proxy_url |
string | Dosyanın proxy URL'si. | <proxy_url> |
|
data.directory |
string | Dizin adı. | <DIRECTORY_NAME> |
|
data.directory_id |
string | Dizinin ID bilgisi. | <directory_id> |
|
data.user_id |
string | Dosya kaydıyla ilişkili kullanıcının tanımlayıcısı. | <user_id> |
|
data.created_at |
datetime | Oluşturulma zaman damgası. | <created_at> |
|
data.expired_at |
datetime / null | Son kullanma zaman damgası. Süresi dolmadan önce null değerini alır. | null |
Yanıt Örneği
JSON
200 Başarılı Yanıt Örneği
{
"object": "file_service::file",
"url": "/v2/file_service/directory/<directory_id>/files",
"data": {
"id": "<file_entry_id>",
"object": "file_service::file",
"filename": "<FILE_NAME>",
"url": "<file_url>",
"proxy_url": "<proxy_url>",
"directory": "<DIRECTORY_NAME>",
"directory_id": "<directory_id>",
"user_id": "<user_id>",
"created_at": "<created_at>",
"expired_at": null
}
}
Hata Yanıtları
400
Dosya eksik
JSON
Hata Yanıtı Örneği
{
"object": "error",
"url": "/v2/file_service/directory/<directory_id>/files",
"data": {
"request_id": "<request_id>",
"code": 13028,
"messages": {
"file": ["is missing"]
}
}
}
401
Yetkilendirme bilgisi eksik veya geçersiz
JSON
Hata Yanıtı Örneği
{
"error_message": "Wrong authentication token",
"data": null,
"code": 13001
}
404
Dizin bulunamadı
JSON
Hata Yanıtı Örneği
{
"error_message": "Requested resource not found!",
"data": null,
"code": 13002
}
Ek Bilgiler
| Notlar | Dosya yüklenmeden önce ilgili dizinin oluşturulmuş olması gerekir. İş akışlarında aynı ada sahip dosyalar aktarılırsa henüz işlenmemiş en son veri işlenir. İşlenmemiş veri bulunmuyorsa iş akışı çalıştırılmaz. Dosya süre sonu özelliği etkindir. Varsayılan olarak dosyalar 7 gün sonra dosya depolama alanından silinir ve süresi dolduğunda dosya kaydındaki expired_at zaman damgası güncellenir. Dizin oluşturulurken dizin adlarının benzersiz olması gerekir. |
İlgili API'ler
Dosya Dizini Oluştur
POST
/v2/file_service/:account_id/directories
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="API_TOKEN"
Yol Parametreleri
| Parametre | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
account_id |
Evet | Hesap ID'si. | <account_id> |
Doğrulamalar
Dizin adı benzersiz olmalıdır.
İstek
{
"name": "Directory Name"
}
Yanıt
{
"object": "file_service::directory",
"url": "/v2/file_service/<account_id>",
"data": {
"id": "<directory_id>",
"object": "file_service::directory",
"name": "Directory Name",
"created_at": "2024-05-03T13:56:15.185+03:00"
}
}
Dizinleri Listele
GET
/v2/file_service/:account_id/directories
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="API_TOKEN"
Yol Parametreleri
| Parametre | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
account_id |
Evet | Hesap ID'si. | <account_id> |
Yanıt
{
"object": "collection",
"url": "/v2/file_service/<account_id>/directories",
"data": [
{
"id": "<directory_id>",
"object": "file_service::directory",
"name": "<DIRECTORY_NAME>",
"created_at": "2024-05-03T14:03:54.846+03:00"
}
]
}
Dosyaları Listele
GET
/v2/file_service/directory/:directory_id/files
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="API_TOKEN"
Yol Parametreleri
| Parametre | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
directory_id |
Evet | Dizin ID'si. | <directory_id> |
Yanıt
{
"object": "collection",
"url": "/v2/file_service/directory/<directory_id>/files",
"data": [
{
"id": "<file_entry_id>",
"object": "file_service::file",
"filename": "<FILE_NAME>",
"url": "http://<API_HOST>/public/v2/storage/blobs/<blob_token>/<FILE_NAME>",
"proxy_url": "http://<API_HOST>/public/v2/storage/blobs/<blob_token>/<FILE_NAME>",
"directory": "<DIRECTORY_NAME>",
"directory_id": "<directory_id>",
"user_id": "<user_id>",
"created_at": "2024-05-03T14:12:12.789+03:00",
"expired_at": null
}
]
}
Dosya Detayını Görüntüle
GET
/v2/file_service/directory/:directory_id/files/:file_entry_id
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="API_TOKEN"
Yol Parametreleri
| Parametre | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
directory_id |
Evet | Dizin ID'si. | <directory_id> |
file_entry_id |
Evet | Dosya kaydının ID'si. | <file_entry_id> |
Yanıt
{
"object": "file_service::file",
"url": "/v2/file_service/directory/<directory_id>/files",
"data": {
"id": "<file_entry_id>",
"object": "file_service::file",
"filename": "<FILE_NAME>",
"url": "http://<API_HOST>/public/v2/storage/blobs/<blob_token>/<FILE_NAME>",
"proxy_url": "http://<API_HOST>/public/v2/storage/blobs/<blob_token>/<FILE_NAME>",
"directory": "<DIRECTORY_NAME>",
"directory_id": "<directory_id>",
"user_id": "<user_id>",
"created_at": "2024-05-03T14:12:12.789+03:00",
"expired_at": null
}
}
Dosyayı Sil
DELETE
/v2/file_service/directory/:directory_id/files/:file_entry_id
Kimlik Doğrulama
Kimlik Doğrulama Yöntemi
Token token="API_TOKEN"
Yol Parametreleri
| Parametre | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
directory_id |
Evet | Dizin ID'si. | <directory_id> |
file_entry_id |
Evet | Dosya kaydının ID'si. | <file_entry_id> |