Документация API
REST API WebToolSolutions — для тарифов Pro и Без ограничений.
Аутентификация
Передавайте API-ключ заголовком в каждом запросе:
X-API-Key: wts_live_xxxxxxxxxxxxxxxxxxxxКлючи создаются в: /dashboard/api-keys
Базовый URL
https://api.webtoolsolutions.org/v1Список модулей
GET /v1/modules
curl -H "X-API-Key: wts_live_..." \
https://api.webtoolsolutions.org/v1/modulesЗапуск задачи (загрузка файла)
POST /v1/modules/{moduleId}/process
curl -H "X-API-Key: wts_live_..." \
-F "file=@document.pdf" \
-F "preserve_formatting=true" \
https://api.webtoolsolutions.org/v1/modules/pdf-to-word/process
# Response:
{
"success": true,
"data": {
"jobId": "job_01HXYZ...",
"status": "PENDING",
"pollUrl": "/v1/jobs/job_01HXYZ..."
}
}Проверка статуса задачи
GET /v1/jobs/{jobId}
curl -H "X-API-Key: wts_live_..." \
https://api.webtoolsolutions.org/v1/jobs/job_01HXYZ...
# When completed:
{
"success": true,
"data": {
"jobId": "...",
"status": "COMPLETED",
"progress": 100,
"result": {
"downloadUrl": "https://cdn.webtoolsolutions.org/...",
"filename": "document.docx",
"fileSizeBytes": 245760,
"expiresAt": "..."
}
}
}Прогресс в реальном времени через WebSocket
ws://api.webtoolsolutions.org/v1/ws?jobId=job_01HXYZ...
// Message types:
{ "type": "progress", "percent": 65, "message": "Converting pages..." }
{ "type": "completed", "result": {...} }
{ "type": "failed", "error": {...} }Вебхуки
При завершении или ошибке задачи мы делаем POST на ваш URL.
POST {your_webhook_url}
X-WTS-Signature: sha256=...
X-WTS-Event: job.completed
{
"event": "job.completed",
"jobId": "...",
"result": {...},
"timestamp": "..."
}Управление: Аккаунт → Вебхуки.
Коды ошибок
- 401 AUTH_REQUIRED
- 402 PLAN_REQUIRED
- 413 FILE_TOO_LARGE
- 415 FILE_TYPE_INVALID
- 422 VALIDATION_ERROR
- 429 QUOTA_EXCEEDED / RATE_LIMIT_EXCEEDED
Лимит запросов
- Pro: 600 req/min · 200 jobs/day
- Unlimited: 1200 req/min · unlimited jobs