İçeriğe atla
Türkçe
  • Arama alanı boş olduğundan herhangi bir öneri bulunmamaktadır.

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>