OSGB'nizin verdiği API anahtarıyla İSG evraklarınızı kendi ERP, DMS veya kalite sisteminizden listeleyin, indirin ve yönetin.
Anahtar, OSGB yönetim panelindeki Arşiv → API Erişimi ekranından firmanız için üretilir ve yalnız bir kez gösterilir. Hangi işlemleri yapabileceğiniz (okuma, yükleme, silme) OSGB tarafından belirlenir. Anahtarı bir şifre gibi saklayın; sızdığından şüphelenirseniz OSGB'nizden yenilenmesini isteyin.
Her istekte anahtarı Authorization başlığında gönderin. Temel adres:https://isgpratik.com/api/v1/firma
curl -s https://isgpratik.com/api/v1/firma/ben \
-H "Authorization: Bearer isgp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"Yanıt, anahtarın bağlı olduğu firmayı ve kapsamını döner. Anahtar hiçbir zaman URL'de taşınmaz; yalnız HTTPS üzerinden gönderin.
| Yöntem | Yol | Kapsam | Açıklama |
|---|---|---|---|
| GET | /ben | oku | Anahtarın bağlı olduğu firma ve yetkiler. Bağlantı testi için. |
| GET | /arsiv/klasorler | oku | Firmanın görebildiği klasörler (kilitli klasörler hariç). |
| GET | /arsiv | oku | Dosya listesi. Parametreler: klasor_id, sonra, limit, sayfa. |
| GET | /arsiv/{id} | oku | Dosya detayı + 10 dakikalık imzalı indirme bağlantısı. |
| GET | /arsiv/{id}/indir | oku | Doğrudan indirme (302 yönlendirme; curl -L). |
| POST | /arsiv | yaz | Dosya yükleme (multipart/form-data: file, klasor_id). |
| DELETE | /arsiv/{id} | sil | Yalnız firmanın kendi yüklediği dosyayı siler. |
Kapsamlar: oku her anahtarda vardır; yaz ve sil OSGB tarafından açılır. Kilitli klasörler ve içindeki dosyalar hiçbir uçta görünmez.
sonra parametresi (ISO 8601) yalnız o andan sonra eklenen dosyaları döner; son senkron zamanınızı saklayıp periyodik çekmek için yeterlidir. klasor_id=root kök dosyaları, bir klasör id'si o klasörü, parametre yoksa tüm dosyaları listeler. Sayfalama: limit (1-500, varsayılan 100) ve sayfa.
# Son senkrondan sonra eklenen dosyalar (artımlı)
curl -s "https://isgpratik.com/api/v1/firma/arsiv?sonra=2026-10-01T00:00:00Z&limit=200" \
-H "Authorization: Bearer isgp_..."{
"dosyalar": [
{
"id": "3f2c…",
"klasor_id": "9a1b…",
"dosya_adi": "Risk Degerlendirmesi 2026.pdf",
"dosya_boyutu": 482113,
"etiketler": [],
"firma_id": "…",
"firma_adi": "Örnek Metal Sanayi A.Ş.",
"firma_yukledi": false,
"created_at": "2026-10-03T08:12:44.000Z"
}
],
"toplam": 1, "sayfa": 1, "limit": 200, "toplam_sayfa": 1
}firma_yukledi true ise dosyayı firmanız (portal veya API) yüklemiştir vesil kapsamıyla silinebilir; false ise OSGB yüklemiştir ve salt okunurdur.
Dosya içeriği doğrudan depolama sunucusundan iner. Detay ucu 10 dakika geçerli imzalı bir bağlantı verir; /indir ucu aynı bağlantıya 302 ile yönlendirir. Bağlantıyı saklamayın, her indirmede yeniden isteyin.
# Seçenek A: JSON içinde imzalı bağlantı (10 dk geçerli)
curl -s https://isgpratik.com/api/v1/firma/arsiv/3f2c… -H "Authorization: Bearer isgp_..."
# Seçenek B: doğrudan dosyaya yönlendirme
curl -L -o evrak.pdf https://isgpratik.com/api/v1/firma/arsiv/3f2c…/indir \
-H "Authorization: Bearer isgp_..."Yükleme multipart/form-data ile yapılır. PDF, Word, Excel ve görsel dosyalar kabul edilir; içerik imzası doğrulanır. Tek istek gövdesi en fazla 4,5 MB olabilir (platform sınırı; aşılırsa 413 döner). Daha büyük evraklar OSGB panelinden yüklenir. Yükleme OSGB'nin ortak arşiv kotasından düşer ve kilitli klasörlere yapılamaz. Yanıt 201 ve { dosya } döner.
curl -s -X POST https://isgpratik.com/api/v1/firma/arsiv \
-H "Authorization: Bearer isgp_..." \
-F "[email protected]" \
-F "klasor_id=9a1b…" # isteğe bağlı; 'root' veya boş = kökSilme yalnız firmanızın yüklediği dosyalarda çalışır (firma_yukledi: true). OSGB'nin yüklediği evraklar için 403 SALT_OKUNUR döner.
curl -s -X DELETE https://isgpratik.com/api/v1/firma/arsiv/3f2c… \
-H "Authorization: Bearer isgp_..."Tüm hatalar aynı gövdeyle döner:
{ "error": "Bu anahtarın 'sil' yetkisi yok.", "error_code": "KAPSAM" }| error_code | HTTP | Anlamı |
|---|---|---|
| AUTH | 401 | Anahtar yok, biçimi bozuk veya tanınmadı. |
| ANAHTAR_IPTAL | 401 | Anahtar OSGB tarafından iptal edilmiş veya yenilenmiş. |
| FIRMA_PASIF | 403 | Firma pasif ya da arşivlenmiş; erişim kapalı. |
| PAKET | 403 | OSGB paketi geçerli değil; erişim askıda. |
| KAPSAM | 403 | Anahtarda bu işlem için yetki yok (yaz / sil). |
| SALT_OKUNUR | 403 | Dosyayı OSGB yüklemiş; API ile silinemez. |
| NOT_FOUND | 404 | Dosya veya klasör yok ya da firmanın kapsamı dışında. |
| VALIDATION | 400 | Parametre veya dosya doğrulaması başarısız. |
| KILITLI | 403 | Hedef klasör kilitli; yükleme yapılamaz. |
| KOTA | 413 | OSGB arşiv kotası dolu. |
| RATE_LIMIT | 429 | Anahtar başına dakikalık istek sınırı aşıldı; Retry-After başlığına bakın. |
| STORAGE | 500 | Depolama bağlantısı üretilemedi veya dosya yazılamadı. |
X-RateLimit-Remaining ile kalan hakkı izleyin. İndirme bağlantısı isteği de sayılır; yalnız dosya baytlarının aktarımı (depolama sunucusundan) sayılmaz. 429 alınca Retry-After kadar bekleyin.