API Dokümantasyonu

WebToolSolutions REST API'si — Pro ve Sınırsız planlar için.

Kimlik Doğrulama

Her isteğe API anahtarınızı header olarak ekleyin:

X-API-Key: wts_live_xxxxxxxxxxxxxxxxxxxx

Anahtar oluşturmak için: Hesabım → API Anahtarları

Base URL

https://api.webtoolsolutions.org/v1

Modülleri Listele

GET /v1/modules

curl -H "X-API-Key: wts_live_..." \
  https://api.webtoolsolutions.org/v1/modules

İşlem Başlat (Dosya Yükleme)

POST /v1/modules/{moduleId}/process

curl -H "X-API-Key: wts_live_..." \
  -F "file=@belge.pdf" \
  -F "preserve_formatting=true" \
  https://api.webtoolsolutions.org/v1/modules/pdf-to-word/process

# Yanıt:
{
  "success": true,
  "data": {
    "jobId": "job_01HXYZ...",
    "status": "PENDING",
    "pollUrl": "/v1/jobs/job_01HXYZ..."
  }
}

İşlem Durumu Sorgula

GET /v1/jobs/{jobId}

curl -H "X-API-Key: wts_live_..." \
  https://api.webtoolsolutions.org/v1/jobs/job_01HXYZ...

# Tamamlandığında:
{
  "success": true,
  "data": {
    "jobId": "...",
    "status": "COMPLETED",
    "progress": 100,
    "result": {
      "downloadUrl": "https://cdn.webtoolsolutions.org/...",
      "filename": "belge.docx",
      "fileSizeBytes": 245760,
      "expiresAt": "..."
    }
  }
}

WebSocket ile Canlı İlerleme

ws://api.webtoolsolutions.org/v1/ws?jobId=job_01HXYZ...

// Mesaj tipleri:
{ "type": "progress", "percent": 65, "message": "Sayfalar dönüştürülüyor..." }
{ "type": "completed", "result": {...} }
{ "type": "failed", "error": {...} }

Webhook'lar

İşlem tamamlandığında ya da başarısız olduğunda kayıtlı URL'inize POST atılır.

POST {your_webhook_url}
X-WTS-Signature: sha256=...
X-WTS-Event: job.completed

{
  "event": "job.completed",
  "jobId": "...",
  "result": {...},
  "timestamp": "..."
}

Hesabım → Webhook'lar sayfasından yönetin.

Hata Kodları

  • 401 AUTH_REQUIRED — API anahtarı yok
  • 402 PLAN_REQUIRED — Pro veya Sınırsız plan gerekli
  • 413 FILE_TOO_LARGE — Dosya çok büyük
  • 415 FILE_TYPE_INVALID — Format desteklenmiyor
  • 422 VALIDATION_ERROR — Eksik/yanlış parametre
  • 429 QUOTA_EXCEEDED / RATE_LIMIT_EXCEEDED — Limit doldu

Rate Limit

  • Pro: 600 istek / dakika · 200 işlem / gün
  • Sınırsız: 1200 istek / dakika · sınırsız işlem