+ +
+
+

+ Управление API ключами и пользователями + интеграция с внешними сервисами +

+
+
+ + +
+
+ + +
+
+
🔑
+
+

0

+

Всего API ключей

+
+
+
+
+
+

0

+

Активных ключей

+
+
+
+
👤
+
+

0

+

Пользователей

+
+
+
+
📊
+
+

0

+

С API ключами

+
+
+
+ + +
+ + + +
+ + +
+ + +
+
Загрузка API ключей...
+
+
+ + +
+ + +
+
Загрузка пользователей...
+
+
+ + +
+
+

📚 Документация API

+ +
+

Аутентификация

+
+

Все запросы требуют заголовок X-API-Key с вашим ключом.

+
+
+ +
+

Эндпоинты

+ +
+
+ GET /api/external/tasks +
+
+

Получение списка задач, назначенных пользователю.

+

Параметры:

+
    +
  • status - фильтр по статусу (assigned, in_progress, completed)
  • +
  • limit - количество записей (по умолчанию 50)
  • +
  • offset - смещение для пагинации
  • +
+

Пример ответа:

+
+{
+  "success": true,
+  "tasks": [
+    {
+      "id": 123,
+      "title": "Название задачи",
+      "description": "Описание задачи",
+      "created_at": "2024-01-01T10:00:00Z",
+      "due_date": "2024-01-02T19:01:00Z",
+      "task_type": "document",
+      "creator_name": "Иванов И.И.",
+      "files": []
+    }
+  ]
+}
+
+
+ +
+
+ PUT /api/external/tasks/{taskId}/status +
+
+

Изменение статуса задачи.

+

Тело запроса:

+
+{
+  "status": "in_progress", // или "completed"
+  "comment": "Комментарий к изменению"
+}
+
+
+ +
+
+ POST /api/external/tasks/{taskId}/files +
+
+

Загрузка файла к задаче.

+

Формат:

+

multipart/form-data с полем file

+
+
+ +
+
+ GET /api/external/tasks/{taskId}/files/{fileId}/download +
+
+

Скачивание файла.

+
+
+
+ +
+

Примеры использования

+ +
+

cURL:

+
+# Получение задач
+curl -H "X-API-Key: ваш_ключ" https://ваш-сервер/api/external/tasks
+
+# Изменение статуса
+curl -X PUT -H "X-API-Key: ваш_ключ" \
+  -H "Content-Type: application/json" \
+  -d '{"status":"in_progress","comment":"Начинаю работу"}' \
+  https://ваш-сервер/api/external/tasks/123/status
+
+# Загрузка файла
+curl -X POST -H "X-API-Key: ваш_ключ" \
+  -F "file=@document.pdf" \
+  https://ваш-сервер/api/external/tasks/123/files
+ +

JavaScript:

+
+const API_KEY = 'ваш_ключ';
+
+async function getTasks() {
+  const response = await fetch('/api/external/tasks', {
+    headers: { 'X-API-Key': API_KEY }
+  });
+  return response.json();
+}
+
+async function updateStatus(taskId, status) {
+  const response = await fetch(`/api/external/tasks/${taskId}/status`, {
+    method: 'PUT',
+    headers: {
+      'X-API-Key': API_KEY,
+      'Content-Type': 'application/json'
+    },
+    body: JSON.stringify({ status, comment: 'Комментарий' })
+  });
+  return response.json();
+}
+
+
+
+
+